Сканирование нескольких файлов
Данные о выдаче книг теперь разбиты по файлам — по одному CSV на каждый год (seattle_2021.csv, seattle_2022.csv, seattle_2023.csv). В этих файлах используются устаревшие имена столбцов: usageclass и materialtype. Воспользуйтесь шаблоном glob, чтобы считать все файлы как единый набор данных, а затем подготовьте сводку по физическим выдачам.
polars загружен как pl, путь к директории хранится в MULTIFILE_DIR.
Это упражнение является частью курса
Масштабирование и оптимизация конвейеров данных с Polars
Инструкции к упражнению
- Просканируйте все файлы
seattle_*.csvв директорииMULTIFILE_DIR, используя шаблон glob. - Отфильтруйте объединённый набор данных по выдачам типа
"Physical", затем выполните группировку по столбцуmaterialtype.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# Scan every yearly file using a glob pattern
yearly_checkouts = pl.____(
str(MULTIFILE_DIR / "____")
)
# Build a physical-checkout summary across the combined dataset
result = (
yearly_checkouts
# Filter to physical
.filter(pl.col("usageclass") == "____")
.group_by("____")
.agg(pl.col("checkouts").sum().alias("total"))
.sort("total", descending=True)
.collect()
)
print(result)