27 lines
893 B
Python
27 lines
893 B
Python
"""Calcule et exporte les statistiques principales sur les sets LEGO filtrés."""
|
|
|
|
from pathlib import Path
|
|
|
|
from lib.rebrickable.stats import compute_basic_stats, read_rows, write_stats_csv
|
|
|
|
|
|
THEMES_PATH = Path("data/raw/themes.csv")
|
|
ALL_SETS_PATH = Path("data/raw/sets.csv")
|
|
FILTERED_SETS_PATH = Path("data/intermediate/sets_filtered.csv")
|
|
ENRICHED_SETS_PATH = Path("data/intermediate/sets_enriched.csv")
|
|
DESTINATION_PATH = Path("data/final/stats.csv")
|
|
|
|
|
|
def main() -> None:
|
|
"""Charge les données, calcule les statistiques et exporte le CSV."""
|
|
themes = read_rows(THEMES_PATH)
|
|
all_sets = read_rows(ALL_SETS_PATH)
|
|
filtered_sets = read_rows(FILTERED_SETS_PATH)
|
|
enriched_sets = read_rows(ENRICHED_SETS_PATH)
|
|
stats = compute_basic_stats(themes, all_sets, filtered_sets, enriched_sets)
|
|
write_stats_csv(DESTINATION_PATH, stats)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|