Analyseur CSV
Presentation
Objectif principal : Un outil en ligne de commande pour analyser des fichiers CSV. Tu lui donnes un fichier, il te sort des stats : moyennes, medianes, valeurs manquantes, correlations entre colonnes.
Technologies utilisees : Python avec Pandas pour la manipulation des donnees et Matplotlib pour les graphiques. Argparse pour gerer les options en ligne de commande.
Fonctionnalites cles : Detection automatique du type de chaque colonne (numerique, texte, date), stats descriptives, detection des outliers, export des resultats en HTML ou PDF.
Livrables attendus : Un script Python utilisable en CLI. Documentation avec exemples. Capable de traiter des fichiers de plusieurs Mo sans planter.
Calendrier previsionnel : Une semaine. Pandas fait le gros du travail, le reste c'est de la mise en forme et la gestion des cas particuliers.
Parties prenantes & criteres de succes : Projet perso pour m'entrainer a Pandas. Je voulais un outil que je pourrais reutiliser pour d'autres cours.
Le Defi
Gerer les CSV mal formes. Des fois y'a des virgules dans les valeurs, des encodages bizarres, des lignes vides au milieu... Faut que l'outil soit robuste et donne des messages d'erreur clairs au lieu de juste crasher.
La Solution
J'ai mis plein de try/except avec des messages explicites. Pour l'encodage, j'essaie d'abord UTF-8, puis Latin-1 si ca marche pas. Pour les valeurs avec virgules, je detecte automatiquement le delimiteur avec csv.Sniffer. Ca gere 90% des cas.
Architecture Technique
Module loader.py pour charger le CSV avec gestion d'erreurs. Module analyzer.py avec des fonctions pour chaque type d'analyse (describe, correlate, detect_outliers). Module reporter.py pour generer les rapports HTML. Le main.py parse les arguments et orchestre tout.
Points Cles
- Detection automatique du format CSV
- Stats completes avec Pandas
- Export rapport HTML avec graphiques
Apercu
Resultats & Apprentissages
L'outil marche bien, je l'utilise vraiment pour mes TPs de stats. J'ai bien appris Pandas et la gestion des erreurs en Python. Le rapport HTML c'est pratique pour montrer des resultats proprement.
Evolutions Futures
Ajouter une interface web avec Flask pour upload les fichiers. Support d'autres formats (Excel, JSON). Machine learning basique pour suggerer des analyses pertinentes selon les donnees.