📝
Fiche de révision
📝 Fiche de révision — Traitement de données en tables
📋 Vocabulaire
- Table : enregistrements (lignes) aux mêmes descripteurs (colonnes) ; domaine de valeurs par descripteur.
- Python : tableau de dictionnaires
table[i]["descripteur"];len(table)lignes.
📥 Import CSV
- Ligne 1 = descripteurs, séparateur
,ou;(ou tabulation). - À la main :
lignes = f.readlines();descripteurs = lignes[0].rstrip("\n").split(","); pour chaque ligne, dictionnaire{descripteurs[i]: valeurs[i]}. - Module :
table = list(csv.DictReader(f)). - Tout est chaîne après lecture :
e["age"] = int(e["age"]); sinon"9" > "15"(ordre alphabétique). - Cohérence : nombre de valeurs, domaines (note 0-20), doublons (dictionnaire des valeurs vues).
🔍 Recherche
- Filtre :
[e for e in table if e["ville"] == "Lyon"]. - Logique :
and,or,not:if e["ville"] == "Lyon" and e["note"] >= 12. - Projection :
[e["nom"] for e in table]; comptage :len([...]); maximum par parcours oumax(table, key=...).
🔃 Tri
sorted(table, key=lambda e: e["note"])→ nouvelle table croissante ;reverse=Truedécroissant ;table.sort(key=...)sur place.lambda e: e["nom"]= fonction anonyme qui extrait la clé.- Plusieurs colonnes :
key=lambda e: (e["ville"], e["note"]); tri stable.
🔗 Fusion
- Descripteur commun de même domaine (« Lyon » ≠ « lyon »,
"69"≠69). - Double boucle :
for e in t1: for v in t2: if e["ville"] == v["ville"]: resultat.append({...}). - Lignes sans correspondance : ignorer ou valeur vide.
- Autres combinaisons : empiler (
t1 + t2, sans doublons), ajouter une colonne calculée.
⚠️ Pièges à éviter
| Piège | Correction |
|---|---|
| Comparer des notes non converties | int() / float() après lecture |
sorted modifie la table | non : renvoie une copie ; sort modifie |
Oublier rstrip("\n") | la dernière valeur contient le saut de ligne |
| Fusion sur des valeurs non normalisées | même casse, même type |
or à la place de and | traduire le critère en logique |
📌 À retenir
- Tableau de dictionnaires, descripteurs, domaines.
- CSV → split ou DictReader → conversion.
- Filtre par compréhension avec and/or/not.
sorted(key=lambda …).- Fusion par descripteur commun.
Révise ce chapitre avec KlarIA
Tuteur qui t'explique pas à pas, quiz pour t'entraîner, flashcards pour mémoriser. Gratuit.
Créer mon compte gratuitement→