
ULUMINE · Numérique et sciences informatiques (NSI) · Première
Traitement de données en tables (fichiers CSV)
Une table CSV se charge en liste de dictionnaires ; on la filtre, on la trie et on la fusionne avec quelques lignes de Python.
Importer
- table = list(csv.DictReader(f)) : un dictionnaire par ligne, clés = descripteurs.
- Valeurs = chaînes : convertir avec int() ou float().
Interroger
- Sélection : [e for e in table if e["classe"] == "1A"].
- Projection : [e["nom"] for e in table].
- Calculs : sum, len, max sur une colonne.
Trier et fusionner
- sorted(table, key=cle, reverse=True) : nouvelle liste ; table.sort(key=cle) : sur place ; tri stable.
- Fusion : double boucle, on garde les couples de lignes ayant la même valeur dans la colonne commune.
Pièges à éviter
- Comparer des notes restées sous forme de chaînes ("9" > "11").
- Compter l’en-tête comme un enregistrement.
- Croire que sorted modifie la table d’origine.
- Oublier qu’une ligne sans correspondance disparaît lors d’une fusion.