Spaces:
Sleeping
Sleeping
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() | |