import sqlite3 import pandas as pd # Suppression des doublons def remove_duplicates(df): df = df.drop_duplicates() df = df.loc[:, ~df.columns.duplicated()] return df # 🚀 Fonction unique appelée depuis le script principal def clean_database(db_path: str): """ Nettoie une base SQLite sur place : lit les données, les nettoie, puis écrase le fichier. """ conn = sqlite3.connect(db_path) tables = pd.read_sql("SELECT name FROM sqlite_master WHERE type='table';", conn) cleaned_data = {} for table in tables['name']: print(f"🧽 Nettoyage de la table : {table}") df = pd.read_sql(f"SELECT * FROM {table};", conn) df = remove_duplicates(df) cleaned_data[table] = df conn.close() # On écrase le fichier d'origine avec la version nettoyée conn = sqlite3.connect(db_path) for table, df in cleaned_data.items(): df.to_sql(table, conn, if_exists='replace', index=False) conn.close()