Size: a a a

2020 December 02

IB

Ivan Barchenkov in Python
andy
Если цель распарсить содержимое в отдельные столбцы, то в зависимости от бд можно добавить руками добавить новые столбцы и запросами к бд из питона разобрать json, дальше сделать insert обратно(способ сложнее, нужно продумывать логику вставки на основе существующих данных). Более простой вариант если бд небольшая, создать новую таблицу, далее запросами вытащить данные из начальной таблицы в pandas(данные будут висеть в памяти), провести необходимые изменения с json и уже готовый подготовленный фрейм с нужными столбцами залить в новую таблицу.
выше скриншот отправил с примером исходных данных
источник

IB

Ivan Barchenkov in Python
Изначально вот что я делаю с файлом

import json
import pandas as pd
from pandas.io.json import json_normalize  
from google.colab import files
uploaded = files.upload()

df = json.loads(uploaded[file_name].decode("utf-8-sig"))

df2 = pd.DataFrame(df)
df2.head()

pd.json_normalize(df2["data"]).tail(15)
источник

IB

Ivan Barchenkov in Python
вот что получаю, то есть в ячейках еще остаются куски json
источник

a

andy in Python
Ivan Barchenkov
вот так эта история у меня в сырой выгрузке выглядит
тут можно добавить проверку на пустое значение первоначального поля "event_json", если значение пустое не делать ничего, если не пустое вытаскивать с помощью pd.loc[*column_name*, row] и повторять json.loads для этого объекта, для координат использовать индекс и строку места где есть доп данные. Дальше обратно в пандас в новую строку если там тот же набор данных, если что то новое то создать просто еще колонку dataframe['new_column'] = *нужное значение*
источник

IB

Ivan Barchenkov in Python
andy
тут можно добавить проверку на пустое значение первоначального поля "event_json", если значение пустое не делать ничего, если не пустое вытаскивать с помощью pd.loc[*column_name*, row] и повторять json.loads для этого объекта, для координат использовать индекс и строку места где есть доп данные. Дальше обратно в пандас в новую строку если там тот же набор данных, если что то новое то создать просто еще колонку dataframe['new_column'] = *нужное значение*
попробую, спасибо большое
источник

C

CcC in Python
Ребят есть кто к функциях хорошо шарит?
источник

k

k4leg in Python
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮b... in Python
а че в них шарить? , главное знать что они могут меняться
источник

U

User in Python
Подскажите пожалуйста. Как можно сделать проверку есть ли список в списке? Пробовал count, но он выдает постоянно что нету.
источник

DD

Dima Dzundza in Python
if list1 in list2
источник

D

Dim in Python
User
Подскажите пожалуйста. Как можно сделать проверку есть ли список в списке? Пробовал count, но он выдает постоянно что нету.
мож реально нету?
источник

U

User in Python
Dima Dzundza
if list1 in list2
На in тоже говорит постоянно False
источник

a

andy in Python
User
На in тоже говорит постоянно False
всегда и должно выводить false, в списке же нет другого списка внутри. Проверять тут нужно элементы этого списка.
list1 = ['Hi', 'hello', 'at', 'this', 'there', 'from']
list2 = ['there', 'hello', 'Hi']
for each in list2:
   if each in list1:
       print(f'{each} :yes')
   else:
       print(f'{each} :no')
источник

U

User in Python
andy
всегда и должно выводить false, в списке же нет другого списка внутри. Проверять тут нужно элементы этого списка.
list1 = ['Hi', 'hello', 'at', 'this', 'there', 'from']
list2 = ['there', 'hello', 'Hi']
for each in list2:
   if each in list1:
       print(f'{each} :yes')
   else:
       print(f'{each} :no')
Ок. А я могу как-то искать, не перебирая еще раз список. ну типо lambda в sort указываешь по какому сортировать.
источник

R

Rulevsky in Python
спасибо модераторам, попробую попросить помощи позже
источник

OO

Oleksiy Ovdiyenko in Python
а зачем моё решение затерли к поиску списка внутри списка?
источник

DD

Dima Dzundza in Python
Rulevsky
спасибо модераторам, попробую попросить помощи позже
Попроси ещё раз
источник

R

Rulevsky in Python
уже бежать нужно, вечерком сформулирую
источник

DD

Dima Dzundza in Python
Oleksiy Ovdiyenko
а зачем моё решение затерли к поиску списка внутри списка?
Потому что мне лень искать где ты начинаешь разжигать спор и  фильтровать это всё
источник

a

andy in Python
User
Ок. А я могу как-то искать, не перебирая еще раз список. ну типо lambda в sort указываешь по какому сортировать.
print([e for e in list2 if e in '\n'.join(list1)])
так можно вывести элементы второго списка, которые есть в первом
источник