/
NSir
/
student-progress-visualizer
Обзор
Документация
Войти
/
NSir
/
student-progress-visualizer
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/data_loader.py
42 строки
1 KB
NSir
Initial commit
23 май 2026, 19:41
23 май 2026, 19:41
9a83b4d
Код
Авторство
О чём код?
from pathlib import Path from datetime import datetime import pandas as pd def load_excel_files(data_dir: str | Path) -> pd.DataFrame: """ Загружает все Excel-файлы из папки data_dir. Дата выгрузки берётся из имени файла формата YYYY-MM-DD.xlsx. """ data_path = Path(data_dir) if not data_path.exists(): raise FileNotFoundError(f"Папка с данными не найдена: {data_path}") files = sorted(data_path.glob("*.xlsx")) if not files: raise FileNotFoundError( f"В папке {data_path} нет Excel-файлов формата .xlsx" ) frames = [] for file_path in files: try: export_date = datetime.strptime(file_path.stem, "%Y-%m-%d").date() except ValueError: raise ValueError( f"Файл {file_path.name} должен иметь имя в формате YYYY-MM-DD.xlsx" ) df = pd.read_excel(file_path, engine="openpyxl") if df.empty: raise ValueError(f"Файл {file_path.name} пустой") df["Дата"] = pd.to_datetime(export_date) df["Файл"] = file_path.name frames.append(df) return pd.concat(frames, ignore_index=True)