#python #json #pandas
#python #json #pandas
Вопрос:
У меня возникли проблемы с извлечением данных из вложенного json в python. Я хочу создать фрейм данных pandas с одним столбцом из всех значений «bill», например
bill
----
a1
a2
a3
Используя выходные данные из API, отформатированного следующим образом:
{
"status": "succeeded",
"travels": [
{
"jobs": [
{
"bill": "a1"
},
{
"bill": "a2"
},
{
"bill": "a3"
}
],
"vehicle": {
"plate": "xyz123"
}
}
]
}
Загрузка json непосредственно в pandas дает мне только первый экземпляр ‘bill’. Я пробовал json_normalize () для ‘jobs’, но у него ключевая ошибка. Кто-нибудь может помочь мне разобраться, как получить только «счет»?
Спасибо
Ответ №1:
Я думаю, вы были на правильном пути с json_normalize
. С вашим вводом в виде словаря python d
:
from pandas.io.json import json_normalize
json_normalize(d, record_path=['travels', 'jobs'])
bill
0 a1
1 a2
2 a3
Комментарии:
1. Спасибо! Это сделало свое дело. Я не знал, что вам не нужно указывать ‘data’ в json_normalize
2. Рад помочь! Да,
json_normalize
иногда бывает сложно заставить работать.