Динамически создавать столбцы в зависимости от структуры строки в PythonPython

Программы на Python
Anonymous
Динамически создавать столбцы в зависимости от структуры строки в Python

Сообщение Anonymous »

Чтобы рассказать о моем проекте, я сравниваю два документа, которые имеют вложенную структуру JSON, используя deepDiff в Python. Если во время сравнения значения поля изменяются, они записываются в DataFrame для анализа.
Пример изменения данных:

Код: Выделить всё

"values_changed": {
"root['prod1']['p_col']['c_col']": {
"new_value": -2.866711109999983,
"old_value": -2.75
},
"root['prod1']['p_col23']": {
"new_value": 1,
"old_value": 54
},
"root['prod1']['p_col']['c_col2']['c_col5']": {
"new_value": 1.678,
"old_value": 5.12
}
}
Текущий результат:



продукт
поле
new_value
old_value




prod
p_col
-2,866
-2,75


prod< /td>
p_col23
1
54


prod
p_col
1.678
5.12



Я использую строковый шаблон для чтения до root['prod1']['p_col'], добавляя к другому словарю, дополнительно преобразованному в кадр данных pandas

Код: Выделить всё

k = """root['prod1']['p_col']['c_col']"""
field = k[k.find("['",8)+1:k.find("']",-1)].split("'")[1::2][0]
но хотите динамически добавлять новый столбец при наличии вложенного поля в строке
Необходимый вывод:




product
parent-field
поле
field
new_valueold_value




prod
p_col
< td style="text-align: center;">c_col

-2,866
-2,75

prod
p_col23


1
54


prod
p_col
c_col2
c_col5
1,678
5.12




Подробнее здесь: https://stackoverflow.com/questions/782 ... -in-python

Вернуться в «Python»