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

CSV и JSON · 13 из 13

Отчёт по огромной выгрузке

Задействованы также: Циклы, Файлы

За три года выгрузка выросла до нескольких гигабайт. Прошлый отчёт съел всю память сервера и не досчитался.

Что сделать

Посчитайте отчёт по выгрузке в несколько гигабайт — так, чтобы он не съел всю память сервера.

Что приходит

  • imya — имя CSV-файла со столбцами «напиток», «количество», «цена»; целиком в память его не читать

  • pozitsiy — сколько лучших напитков показать

Что вернуть

Кортеж (выручка, сколько строк разобрано, лучшие); лучшие — до pozitsiy пар (напиток, выручка) по убыванию, при равенстве — по алфавиту.

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

Пример

Латте 2 по 180, чай 5 по 90, ещё латте 1 по 180: выручка 990, разобрано 3 строки, латте принёс 540, чай — 450. При двух позициях ответ — (990, 3, [("латте", 540), ("чай", 450)]).

Тот же пример кодом
Перед вызовом
with open("b.csv", "w", encoding="utf-8", newline="") as f:
    f.write("напиток,количество,цена\nлатте,2,180\nчай,5,90\nлатте,1,180\n")
Вызов
svodka_potokom('b.csv', 2)
Вернуть
(990, 3, [('латте', 540), ('чай', 450)])
Ctrl+Enter — проверить

Обсуждение

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

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