data / test_parsing_fix.py
Tracy André
updated
588939d
raw
history blame
2.56 kB
#!/usr/bin/env python3
"""
Test de la correction du problème de parsing
"""
import pandas as pd
def test_direct_csv_loading():
"""Test du chargement direct des CSV depuis HuggingFace"""
dataset_id = "HackathonCRA/2024"
csv_files = [
"Interventions-(sortie-excel)-Station_Expérimentale_de_Kerguéhennec-2020.csv",
"Interventions-(sortie-excel)-Station_Expérimentale_de_Kerguéhennec-2021.csv",
"Interventions-(sortie-excel)-Station_Expérimentale_de_Kerguéhennec-2022.csv",
"Interventions-(sortie-excel)-Station_Expérimentale_de_Kerguéhennec-2023.csv",
"Interventions-(sortie-excel)-Station_Expérimentale_de_Kerguéhennec-2024.csv",
"Interventions-(sortie-excel)-Station_Expérimentale_de_Kerguéhennec-2025.csv"
]
print("🧪 Test du chargement CSV direct depuis HuggingFace")
print("=" * 60)
all_dataframes = []
for csv_file in csv_files:
try:
# URL directe vers le fichier
file_url = f"https://huggingface.co/datasets/{dataset_id}/resolve/main/{csv_file}"
print(f"📥 Test: {csv_file}")
# Charger avec pandas en forçant tout en string
df_temp = pd.read_csv(file_url, dtype=str, na_filter=False, nrows=5) # Juste 5 lignes pour test
print(f" ✅ Succès: {df_temp.shape[0]} lignes, {df_temp.shape[1]} colonnes")
print(f" 📊 Colonnes: {list(df_temp.columns)[:5]}...")
df_temp['source_file'] = csv_file
all_dataframes.append(df_temp)
except Exception as e:
print(f" ❌ Erreur: {str(e)[:100]}...")
continue
if all_dataframes:
# Concaténer
df_combined = pd.concat(all_dataframes, ignore_index=True)
print(f"\n🎯 RÉSULTAT:")
print(f" ✅ {len(csv_files)} fichiers testés")
print(f" ✅ {len(all_dataframes)} fichiers chargés avec succès")
print(f" ✅ {df_combined.shape[0]} lignes totales")
print(f" ✅ {df_combined.shape[1]} colonnes")
# Vérifier millesime
if 'millesime' in df_combined.columns:
print(f" 📅 Années détectées: {sorted(df_combined['millesime'].unique())}")
print(f"\n💡 La solution de chargement direct fonctionne !")
return True
else:
print(f"\n❌ Aucun fichier n'a pu être chargé")
return False
if __name__ == "__main__":
test_direct_csv_loading()