Выбор ответа Senior Чтение и запись данных обновлено
Вложенный JSON в таблицу
Вопрос
Ответ API: список заказов, у каждого вложенный user: {id, city} и список items. Нужна таблица «строка на товар» с городом пользователя. Что подойдёт?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: pd.jsonnormalize(records, recordpath="items", meta=[...]). recordpath разворачивает список items в строки, а meta (например ["id", ["user", "city"]]) протаскивает в каждую строку поля заказа, в том числе вложенный user.city.
Варианты ответа
pd.read_jsonбез параметров, затемexplode("items")по спискуpd.DataFrame(records)иexplode("user")для городаpd.json_normalize(records, max_level=2)безrecord_pathpd.json_normalize(records, record_path="items", meta=[...])правильный ответ
Разбор
record_path разворачивает список items в строки, а meta (например ["id", ["user", "city"]]) протаскивает в каждую строку поля заказа, в том числе вложенный user.city. Без record_path json_normalize развернёт только словари, а items останется списком в ячейке. read_json плоский, и explode("items") даст строки со словарями без города в колонке, а explode по словарю user не делает колонку города.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.
Термины по теме
Ещё по теме «Чтение и запись данных»
- Как прочитать большой файл в pandas
- Файл больше памяти в pandas
- Агрегат по кускам через chunksize
- Вложенный JSON заказов в таблицу
- Разбор выгрузки из Excel: sep, decimal, dtype
- Запятая в дробях при чтении CSV
- CSV для русского Excel
- read_csv для русской выгрузки