File size: 2,557 Bytes
588939d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#!/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()