Нормализация Python json – вложенная структураPython

Программы на Python
Ответить
Гость
 Нормализация Python json – вложенная структура

Сообщение Гость »

Я учусь обрабатывать то, что считаю сложной структурой json, и пытаюсь загрузить ее в фрейм данных. Мне нужна одна запись для каждого идентификатора результата. Вот пример структуры json
{
"_id": 12345,
"reports": [
{
"body": "\n***\nGeneral report text.",
"outcome": {
"comments": [],
"id": "1",
"status": {
"failed": {
"both": 0,
"human": 0,
"auto": 0,
"total": 0
},
"open": {
"both": 0,
"human": 0,
"auto": 0,
"total": 0
},
"passed": {
"both": 0,
"human": 0,
"auto": 1,
"total": 1
},
"code": {
"_input": 0,
"_output": 0,
"canceled": 0
},
"total": 1
}
},
"type": "outcome"
},
{
"body": "\n***\nGeneral report text.",
"outcome": {
"comments": [],
"id": "2",
"status": {
"failed": {
"both": 0,
"human": 0,
"auto": 0,
"total": 0
},
"open": {
"both": 0,
"human": 0,
"auto": 0,
"total": 0
},
"passed": {
"both": 0,
"human": 0,
"auto": 1,
"total": 1
},
"code": {
"_input": 0,
"_output": 0,
"canceled": 0
},
"total": 1
}
},
"type": "outcome"
}
]
}

Желаемый формат фрейма данных:
report_id | outcome.id | body | outcome.comments | status.failed.both | status.failed.human | status.failed.auto so on and so forth

Мне бы хотелось, чтобы все статусы были в одной записи (по результату.id), и я не знаю, как нормализовать все это в одну запись.
Я пробовал это, но это не дает мне желаемой структуры данных
df_reports = pd.json_normalize(data,record_path=['reports', 'outcome'],
meta=[
['reports','body'],
['outcome','comment'],
['outcome','id'],
['outcome','status']
]


Подробнее: https://stackoverflow.com/questions/799 ... -structure
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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