Spaces:
Sleeping
Sleeping
Download preprocess.py from akisov/order-forecast: direct link, hf CLI and curl.
- Browser
- Download file 1.46 kB
-
https://huggingface.co/spaces/akisov/order-forecast/resolve/main/preprocess.py
- Command line
-
hf download hf://spaces/akisov/order-forecast/preprocess.py
-
curl -L -o preprocess.py https://huggingface.co/spaces/akisov/order-forecast/resolve/main/preprocess.py
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.") | |