Выбор ответа Senior Чтение и запись данных обновлено

Вложенный JSON в таблицу

Вопрос

Ответ API: список заказов, у каждого вложенный user: {id, city} и список items. Нужна таблица «строка на товар» с городом пользователя. Что подойдёт?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: pd.jsonnormalize(records, recordpath="items", meta=[...]). recordpath разворачивает список items в строки, а meta (например ["id", ["user", "city"]]) протаскивает в каждую строку поля заказа, в том числе вложенный user.city.

Варианты ответа

  1. pd.read_json без параметров, затем explode("items") по списку
  2. pd.DataFrame(records) и explode("user") для города
  3. pd.json_normalize(records, max_level=2) без record_path
  4. pd.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 ошибок.

Термины по теме