Python-скрипт: сводный отчёт из CSV/Excel

Утренний свод выручки и остатков из разношёрстных CSV — 2–3 минуты вместо 1–2 часов.

Стек CLI, Excel, pandas, Python

Клиент — сеть из 8 розничных точек. Ежедневно менеджеры присылают CSV выручки и остатков из разных учётных систем — форматы и названия колонок различаются. Бухгалтер вручную сводил в Excel 1–2 часа каждое утро.

Задача: Python-скрипт — папка с CSV/XLSX → mapping колонок из config → агрегация по точкам и датам → итоговый Excel + PDF по шаблону. Запуск по cron или вручную из консоли.

  • config.yaml: пути, mapping полей (date, store_id, revenue, qty), фильтры;
  • pandas: чтение csv/xlsx, приведение типов, валидация обязательных колонок;
  • агрегация: сумма по точке/дню, pivot «точка × дата», топ-10 SKU;
  • export: Excel с листами Summary / Detail / Errors; PDF через reportlab или xlsx→pdf;
  • отчёт об ошибках: файл с неверной кодировкой или пропущенными полями;
  • лог в файл + exit code для cron.

Стек: Python 3.11, pandas, openpyxl, PyYAML, reportlab. Приёмка: 30 дней исторических файлов — сверка с ручным отчётом бухгалтера.

Итог: утренний отчёт за 2–3 минуты вместо 1–2 часов. NDA: сеть не публикуется.