У меня есть некоторые данные JSON, возвращенные, как показано ниже: (Я не могу изменить структуру)
[
{
"id": "d6aca8ac",
"owner": "test",
"sections": {
"summary": {
"id": "d417cd0e",
"notes": "",
"created_at": "2018-11-26T19:02:06Z"
},
"weather": {
"id": "7ef34660",
"notes": ""
},
"task": {
"id": "255d86dc",
"tasks": [
{
"id": "t1",
"total_hours": 176.0,
"updated_at": "2018-11-26T19:02:06Z",
"created_at": "2018-11-26T19:02:06Z"
},
{
"id": "t2",
"total_hours": 176.0,
"updated_at": "2018-11-26T19:02:06Z",
"created_at": "2018-11-26T19:02:06Z"
}
]
}
}
}
]
Я пытаюсь использовать json_normalise из pandas, чтобы получить задачи в кадре данных, например так:
+----+-------------+----------------------+----------------------+
| id | total_hours | updated_at | created_at |
+----+-------------+----------------------+----------------------+
| t1 | 176 | 2018-11-26T19:02:06Z | 2018-11-26T19:02:06Z |
| t2 | 176 | 2018-11-26T19:02:06Z | 2018-11-26T19:02:06Z |
+----+-------------+----------------------+----------------------+
У меня есть сценарий, который перебирает сотни файлов JSON в папке, применяя другой путь записи в зависимости от имени файла, и это работает для них всех, кроме этой одной структуры, поэтому я действительно хотел бы посмотреть, смогу ли я получить эторезультат с использованием чего-то похожего (это, очевидно, не работает):
normalised_data = json_normalize(data=json_data, record_path=['sections', 'task', 'tasks'], meta=['id'], meta_prefix='parent_' , errors='ignore')
Если этот стиль команды не может быть использован, то какой мой лучший вариант?Поэтому мне придется подумать о выделении этого конкретного файла.
Спасибо,