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('imdb').replace('\\', '/') out = out_parquet('imdb').replace('\\', '/') con.execute(f""" COPY ( SELECT TRY_CAST(CODICE AS INTEGER) AS codice, TRY_CAST(EDIZIONE AS INTEGER) AS edizione, TRIM(RIFERIMENTO_IMDB) AS riferimento_imdb FROM {icr_csv(con, src)} WHERE CODICE IS NOT NULL ) TO '{out}' (FORMAT PARQUET, COMPRESSION ZSTD) """) return con.execute(f"SELECT COUNT(*) FROM '{out}'").fetchone()[0]