Войти Создать аккаунт

Нарезка · Шаг 1 из 4

Строки в записи

Выгрузка приходит таблицей: первая строка — названия колонок, дальше данные. Работать с рядами ячеек неудобно — через три шага никто не помнит, что в третьей колонке. Куда удобнее запись, где у значения есть имя. Превратить всю таблицу разом нельзя: в ней миллион строк, и она для того и режется, что целиком никуда не влезает.

Что сделать

Превращайте строки таблицы в записи с именами колонок — по одной, не читая файл целиком.

Что приходит

  • stroki — поток строк таблицы, каждая — список ячеек; первая — заголовок с названиями колонок

Что вернуть

Генератор: на каждую строку после заголовка — словарь «колонка → ячейка»; короткая строка дополнена пустыми ячейками, длинная обрезана; пустой поток — ничего.

Допишите функцию zapisi в редакторе справа. Результат верните через return — то, что напечатано, на проверку не влияет.

В проекте

Утилита отдаёт вашему генератору строки CSV-файла прямо с диска. Дальше записи идут в шаги 2–4 по одной — поэтому файл на миллион строк не попадает в память целиком.

Пример

Заголовок ["imya", "gorod"] и строки «Анна, Тверь», «Борис, Омск» дают две записи: {"imya": "Анна", "gorod": "Тверь"} и {"imya": "Борис", "gorod": "Омск"}.

Тот же пример кодом
Вызов
list(zapisi([["imya", "gorod"], ["Анна", "Тверь"], ["Борис", "Омск"]]))
Вернуть
[{'imya': 'Анна', 'gorod': 'Тверь'}, {'imya': 'Борис', 'gorod': 'Омск'}]
Ctrl+Enter — проверить

Обсуждение

Вопросов пока нет.

Войдите, чтобы спросить.