order-forecast / preprocess.py
Chronos Deploy
Claude Sonnet 4.6
Fix preprocess.py encoding, push ascii output
c4956c5
Raw History Blame Contribute Delete
1.46 kB
"""
Предобработка файлов заказов: оставляет только нужные столбцы.
Запуск: py preprocess.py data/6694_09.2024.xlsx data/6694_10.2024.xlsx data/6694_11.2024.xlsx
Результат: data/slim/6694_09.2024.xlsx (~2-4 MB вместо 40+ MB)
"""
import sys
import os
import pandas as pd
KEEP_COLS = [
"Дата",
"час_оформления",
"id_order",
"ID_курьера",
"Статус",
"Сервис",
"Сумма_оплаты",
"Позиций_в_заказе",
]
def process(path: str):
print(f"Reading {path} ...", end=" ", flush=True)
df = pd.read_excel(path, usecols=KEEP_COLS)
out_dir = os.path.join(os.path.dirname(path), "slim")
os.makedirs(out_dir, exist_ok=True)
out = os.path.join(out_dir, os.path.basename(path))
df.to_excel(out, index=False)
size_mb = os.path.getsize(out) / 1e6
print(f"done -> {out} ({size_mb:.1f} MB, {len(df):,} rows)")
if __name__ == "__main__":
files = sys.argv[1:] if len(sys.argv) > 1 else []
if not files:
# авто-поиск в data/
import glob
files = glob.glob("data/*.xlsx")
if not files:
print("Файлы не найдены. Укажи пути как аргументы: py preprocess.py data/*.xlsx")
sys.exit(1)
for f in files:
process(f)
print("\nDone. Upload files from data/slim/ -- 10-20x smaller.")