Numérique et sciences informatiques (NSI) · Première

Traitement de données en tables (fichiers CSV)

Les données ouvertes, les relevés d’un capteur ou un carnet de notes se présentent souvent sous forme de tables : des lignes (les enregistrements) et des colonnes (les descripteurs). Le format texte CSV permet de les échanger. En Python, on les charge dans une liste de dictionnaires pour les interroger, les trier et les croiser.

Une question sur ce cours ?

ULU, le tuteur d’ULUMINE, t’aide à partir de ce cours.

Séance guidée avec ULU (≈ 10 min)Diagnostic, explication, exercices adaptés et bilan.

Objectifs

  • Connaître le vocabulaire : table, enregistrement, descripteur, valeur
  • Importer un fichier CSV dans une liste de dictionnaires et convertir les types
  • Sélectionner les lignes qui vérifient un critère, calculer sur une colonne
  • Trier une table selon une colonne avec sorted et une fonction clé
  • Fusionner deux tables ayant une colonne commune

1. Tables et format CSV

CSV signifie Comma-Separated Values : les valeurs sont séparées par des virgules (parfois par des points-virgules dans les fichiers français, car la virgule y sert de séparateur décimal).

2. Importer une table en Python

3. Rechercher et calculer

Une sélection garde les lignes qui vérifient un critère ; une projection ne garde que certaines colonnes. Les listes en compréhension font les deux à la fois.

4. Trier une table

  • sorted(table, key=f) renvoie une nouvelle liste triée selon la valeur f(e) de chaque ligne ; la table d’origine n’est pas modifiée.
  • reverse=True trie dans l’ordre décroissant.
  • table.sort(key=f) trie la liste sur place (elle est modifiée).
  • Le tri de Python est stable : deux lignes de même clé gardent leur ordre de départ.

5. Fusionner deux tables

Pour fusionner (joindre) deux tables, on associe les lignes qui ont la même valeur dans une colonne commune, par exemple la classe.

À retenir

  • Table = enregistrements (lignes) × descripteurs (colonnes) ; CSV = valeurs séparées par des virgules.
  • csv.DictReader donne une liste de dictionnaires ; les valeurs sont des chaînes à convertir.
  • Sélection : [e for e in table if critère] ; projection : [e["col"] for e in table].
  • sorted(table, key=fonction, reverse=…) renvoie une nouvelle liste triée.
  • Fusion : associer les lignes ayant la même valeur dans une colonne commune.

Et maintenant, à toi !

Vérifie que tu as compris avec les exercices, puis révise avec la fiche.

À découvrir aussi

Première · Numérique et sciences informatiques (NSI)

Représenter les entiers : binaire, hexadécimal, complément à deux

Écrire un entier en base 2 et en base 16, passer d’une base à l’autre, coder les entiers relatifs en complément à deux : cours et exercices de NSI en Première.