CSV и JSON · 16 из 22
Таблица для Стаса
Дело о лишнем часе. Стас просит у Веры чеки той ночи таблицей — он сведёт их со своим журналом. Касса отдаёт JSON, а Стасу нужен CSV. В меню у Веры есть «капучино, большой» — с запятой внутри, и в прошлый раз такая позиция развалила таблицу на лишний столбец.
Что сделать
Переложите чеки из JSON в таблицу CSV так, чтобы запятая в названии не ломала столбцы.
Что приходит
tekst_json— ответ кассы строкой JSON: под ключом"cheki"— список словарей с ключамиnomer,vremya,pozitsiya,summa
Что вернуть
Текст CSV: заголовок nomer,vremya,pozitsiya,summa и по строке на чек; каждая строка кончается \n.
Допишите функцию v_csv в редакторе справа.
Результат верните через return — то, что
напечатано, на проверку не влияет.
v_csv('{"cheki": [{"nomer": 1040, "vremya": "2026-10-25 02:58", "pozitsiya": "латте", "summa": "220.00"}, {"nomer": 1041, "vremya": "2026-10-25 02:59", "pozitsiya": "капучино", "summa": "250.00"}]}')
'nomer,vremya,pozitsiya,summa\n1040,2026-10-25 02:58,латте,220.00\n1041,2026-10-25 02:59,капучино,250.00\n'
Столбцы — ровно в порядке nomer,vremya,pozitsiya,summa, в каком бы порядке ни шли ключи в JSON. Чеки — в том же порядке, что в списке. Значения пишутся как есть: номер — числом, сумма — той строкой, что пришла.
Кавычки — по правилам CSV, как пишет модуль csv по умолчанию: поле берётся в двойные кавычки, только если в нём есть запятая, двойная кавычка или перевод строки; кавычка внутри поля удваивается. Конец каждой строки — \n. Чеков нет — один заголовок.
Обсуждение
Вопросов пока нет.
Войдите, чтобы спросить.