Spaces:
Sleeping
Sleeping
🔧 Correction de l'Erreur de Parsing PyArrow
🚨 Problème Identifié
Erreur : Failed to parse string: 'Coué - ' as a scalar of type double
Cause : HuggingFace Datasets essaie de deviner automatiquement les types de colonnes et interprète mal certaines données textuelles comme des nombres.
✅ Solution Implémentée
1. Chargement Robust avec Fallback
L'application essaie maintenant 3 méthodes dans l'ordre :
- Chargement HF normal (rapide)
- Chargement HF avec types flexibles (si erreur)
- Chargement CSV direct (fallback ultime)
2. Chargement CSV Direct
En cas d'échec du parsing automatique :
# Chargement direct des fichiers CSV depuis HF
csv_files = [
"Interventions-...-2020.csv",
"Interventions-...-2021.csv",
# ... etc
]
for csv_file in csv_files:
file_url = f"https://huggingface.co/datasets/{dataset_id}/resolve/main/{csv_file}"
df = pd.read_csv(file_url, dtype=str, na_filter=False) # Tout en string
3. Gestion des Types
- Tout forcé en string initialement
- Conversion sélective des colonnes numériques après chargement
- Nettoyage des données problématiques
🎯 Fonctionnalités de la Solution
✅ Messages de Debug Améliorés
🤗 Chargement du dataset Hugging Face: HackathonCRA/2024
⚠️ Erreur de parsing automatique: Failed to parse string...
🔄 Tentative avec types de données flexibles...
📊 Chargement alternatif: fichiers CSV individuels...
⚙️ Chargement: Interventions-...-2020.csv
⚙️ Chargement: Interventions-...-2021.csv
✅ Chargement alternatif réussi: XXXX lignes
✅ Filtrage Intelligent
- Exclusion automatique des fichiers XLSX
- Gestion flexible des colonnes 'file' ou 'source_file'
- Conversion robuste de la colonne 'millesime'
✅ Gestion d'Erreurs
- 3 niveaux de fallback
- Messages détaillés pour debugging
- Préservation des données même en cas de problème
🚀 Résultat sur HuggingFace Spaces
Comportement Attendu
- Tentative normale → Échoue avec erreur parsing
- Chargement alternatif → Réussit avec CSV direct
- Données propres → 6 fichiers CSV (2020-2025)
- Application fonctionnelle → Analyse des adventices
Logs de Succès
📊 Chargement alternatif: fichiers CSV individuels...
⚙️ Chargement: Interventions-...-2020.csv
⚙️ Chargement: Interventions-...-2021.csv
⚙️ Chargement: Interventions-...-2022.csv
⚙️ Chargement: Interventions-...-2023.csv
⚙️ Chargement: Interventions-...-2024.csv
⚙️ Chargement: Interventions-...-2025.csv
✅ Chargement alternatif réussi: XXXX lignes
📊 Splits disponibles: ['train']
🎯 Utilisation du split: 'train'
✅ Dataset chargé: XXXX lignes, XX colonnes
🔧 Modifications du Code
Imports Ajoutés
import pandas as pd
from datasets import DatasetDict, Dataset
Logique de Chargement
- Try/catch sur
load_dataset() - Chargement CSV direct avec
pd.read_csv(dtype=str) - Conversion en
DatasetHuggingFace - Filtrage et nettoyage des données
🎉 Application Robuste
Votre application peut maintenant :
- ✅ Gérer les erreurs de parsing PyArrow
- ✅ Charger les données CSV directement depuis HF
- ✅ Fonctionner même avec données "sales"
- ✅ Être déployée sur HF Spaces sans problème
La solution est robuste et prête pour la production ! 🚀✨