NSI - Chapitre 4 : Traitement de données en tables

Chapitre 4 : Traitement de données en tables

Importation, manipulation et analyse de données structurées en Python

🌍 Le monde des données

Les données ont envahi nos vies (Cloud, smartphones, objets connectés). Pour être utilisables, ces données doivent être structurées. L'une des méthodes les plus simples et universelles pour organiser l'information est la table (lignes et colonnes).

1964 : Le terme "Database"
Première utilisation par l'armée américaine pour partager du contenu efficacement.
1970 : Modèle Relationnel
Edgar F. Codd invente l'organisation en tables (relations) et le langage SQL.
1972 : Format CSV
Invention d'un format texte simple pour l'interopérabilité entre systèmes différents.

🛠️ Activités Pratiques

Activité 1 : Le format CSV et l'importation

Le format CSV (Comma Separated Values) est un fichier texte où :

  • Chaque ligne du fichier correspond à un enregistrement.
  • Les valeurs sont séparées par des virgules (ou des points-virgules).
  • La première ligne contient souvent les descripteurs (les noms des colonnes).

Exemple de code Python pour importer :

Nous utilisons la bibliothèque csv pour transformer un fichier texte en une liste de listes exploitable.

import csv

# Ouverture du fichier en mode lecture ('r')
fichier = open('stations.csv', mode='r', encoding='utf-8')

# Création d'une structure de table (liste de listes)
# delimiter=',' précise que le séparateur est la virgule
table = list(csv.reader(fichier, delimiter=','))

print(table[0]) # Affiche les descripteurs (1ère ligne)
print(table[1]) # Affiche la première donnée

Activité 2 : Recherche et Tri

Une fois les données dans une variable table, on peut effectuer des traitements :

  • Rechercher : Parcourir la liste pour trouver une information précise (ex: trouver une station de charge près de Perpignan).
  • Trier : Classer les données selon un critère (ex: trier les stations par longitude).

📚 Le Cours à Retenir

1. Structure d'une table en Python

Une table importée depuis un CSV est généralement stockée sous la forme d'une liste de listes.

Id (Index 0) Nom (Index 1) Race (Index 2)
1WanitaTigre
2PunkLoutre
3TokoToucan

Si cette table s'appelle animaux :

  • animaux[0] donne la ligne des descripteurs (si conservée).
  • animaux[1][2] donne "Tigre" (ligne 1, colonne 2).

2. Opérations Fondamentales

A. Sélection (Filtrage)

Cela consiste à extraire les lignes qui répondent à un critère précis (logique booléenne).

# Exemple : Garder uniquement les tigres
tigres = [ligne for ligne in animaux if ligne[2] == 'Tigre']

B. Tri (Sorting)

On utilise la fonction sorted(). Elle ne modifie pas la liste originale mais en renvoie une nouvelle triée.

L'argument key avec une fonction lambda permet de choisir la colonne de tri.

# Trier par nom (colonne index 1)
table_triee = sorted(animaux, key=lambda item: item[1])

C. Fusion de tables

Pour fusionner deux tables, elles doivent partager les mêmes descripteurs. En Python, c'est une simple concaténation de listes.

# Fusionne table1 et table2
fusion = table1 + table2

D. Test de cohérence

Il est crucial de vérifier que les données sont valides (ex: vérifier qu'une colonne "Année" contient bien des entiers et non du texte) pour éviter les erreurs lors du traitement.

🧠 QCM : Vérifiez vos connaissances

Répondez aux questions pour valider le chapitre.

1. Que signifie l'acronyme CSV ?

2. Si `table` est une liste de listes, comment accéder à l'élément de la 3ème colonne de la 5ème ligne ?

3. Que fait la fonction `sorted(ma_liste)` ?

4. Quelle condition est nécessaire pour fusionner deux tables simplement ?

© 2026 salah.cc - NSI Première - Données en table