Partie 2 : Le traitement des données
5. Le traitement des données
Section intitulée « 5. Le traitement des données »Une fois les données structurées dans une table, on peut effectuer différentes opérations de traitement :
| Opération | Description | Exemple |
|---|---|---|
| Recherche | Trouver un enregistrement précis | Trouver l'élève dont le nom est "Dupont" |
| Tri | Ordonner les enregistrements selon un descripteur | Trier les élèves par âge croissant |
| Filtre | Sélectionner les enregistrements répondant à un critère | Garder uniquement les élèves de Lyon |
| Calcul | Effectuer des opérations sur les valeurs | Calculer l'âge moyen des élèves |
| Croisement | Combiner deux tables ayant un descripteur commun | Croiser une table d'élèves et une table de notes |
Traitement avec le module csv de Python
Section intitulée « Traitement avec le module csv de Python »Le module csv de Python permet de lire facilement des fichiers CSV :
import csv
# Lire un fichier CSVwith open("eleves.csv", "r", encoding="utf-8") as fichier: lecteur = csv.DictReader(fichier, delimiter=";") eleves = list(lecteur)
# Filtre : garder les élèves de Lyonlyonnais = [e for e in eleves if e["Ville"] == "Lyon"]
# Tri : trier par âge croissanteleves_tries = sorted(eleves, key=lambda e: int(e["Age"]))
# Calcul : âge moyenages = [int(e["Age"]) for e in eleves]age_moyen = sum(ages) / len(ages)print(f"Âge moyen : {age_moyen}")Traitement « à la main » avec open et split
Section intitulée « Traitement « à la main » avec open et split »On peut aussi lire un fichier CSV sans le module csv, en utilisant simplement open() pour ouvrir le fichier et split() pour découper chaque ligne :
# Ouvrir et lire le fichier ligne par lignewith open("cinemas.csv", "r", encoding="utf-8") as fichier: lignes = fichier.readlines()
# La première ligne contient les en-têtesen_tetes = lignes[0].strip().split(";")print("Colonnes :", en_tetes)
# Parcourir les lignes de données (à partir de la 2e ligne)compteur_paris = 0for ligne in lignes[1:]: champs = ligne.strip().split(";") departement = champs[2] # supposons que la colonne 2 est le département if departement == "75": compteur_paris += 1
print(f"Nombre de cinémas à Paris : {compteur_paris}")Exemple concret : compter les cinémas par département
Section intitulée « Exemple concret : compter les cinémas par département »Imaginons un fichier cinemas.csv contenant la liste des cinémas de France (disponible sur data.gouv.fr) avec les colonnes : nom, adresse, departement, commune, ecrans.
# Compter le nombre de cinémas par départementwith open("cinemas.csv", "r", encoding="utf-8") as fichier: lignes = fichier.readlines()
# Dictionnaire : département -> nombre de cinémascinemas_par_dept = {}
for ligne in lignes[1:]: # on saute la ligne d'en-tête champs = ligne.strip().split(";") dept = champs[2] if dept in cinemas_par_dept: cinemas_par_dept[dept] += 1 else: cinemas_par_dept[dept] = 1
# Afficher les 5 départements ayant le plus de cinémasclassement = sorted(cinemas_par_dept.items(), key=lambda x: x[1], reverse=True)for dept, nb in classement[:5]: print(f"Département {dept} : {nb} cinémas")Visualisation cartographique avec folium
Section intitulée « Visualisation cartographique avec folium »Lorsque les données contiennent des coordonnées géographiques (latitude, longitude), on peut les afficher sur une carte interactive grâce à la bibliothèque Python folium. Cela permet de croiser les données structurées avec la géolocalisation.
import folium
# Créer une carte centrée sur la Francecarte = folium.Map(location=[46.6, 2.3], zoom_start=6)
# Ajouter un marqueur pour chaque cinéma (exemple simplifié)folium.Marker( location=[48.8566, 2.3522], popup="Le Grand Rex - Paris").add_to(carte)
# Sauvegarder la carte au format HTMLcarte.save("carte_cinemas.html")© 2026 Corentin Dupont - LyCode
Créé avec Astro Starlight