import duckdb from config.settings import csv_path, out_parquet from utils.csv_reader import icr_csv def run(con: duckdb.DuckDBPyConnection) -> int: src = csv_path('scelte_rete').replace('\\', '/') out = out_parquet('scelte_rete').replace('\\', '/') con.execute(f""" COPY ( SELECT TRIM(Tipologia) AS tipologia, TRY_CAST(Prodotto AS INTEGER) AS prodotto, TRIM("Sel. Rete - Rete") AS rete, TRIM("Sel. Rete - Slot") AS slot, TRIM("Sel. Rete - Stagione") AS stagione FROM {icr_csv(con, src)} WHERE Prodotto IS NOT NULL ) TO '{out}' (FORMAT PARQUET, COMPRESSION ZSTD) """) return con.execute(f"SELECT COUNT(*) FROM '{out}'").fetchone()[0]