Au programme de ce chapitre
- I. La notion de table : attributs et enregistrements
- II. Lire une table depuis un fichier CSV
- III. Modéliser une table du monde réel
- Savoir-faire
- Exercices types corrigés
- Teste-toi — vrai ou faux ?
- Pièges fréquents et astuces
- À retenir
La définition à retenir
Un exemple corrigé
élèves.csv :
nom,age,ville
Diallo,17,Lyon
Martin,16,Nantes
Chen,17,Lyon
Code testé avec python3 :
>>> import csv
>>> with open("élèves.csv") as f:
... table = list(csv.DictReader(f))
>>> table
[{'nom': 'Diallo', 'age': '17', 'ville': 'Lyon'}, {'nom': 'Martin', 'age': '16', 'ville': 'Nantes'}, {'nom': 'Chen', 'age': '17', 'ville': 'Lyon'}]
>>> lyonnais = [ligne for ligne in table if ligne["ville"] == "Lyon"]
>>> lyonnais
[{'nom': 'Diallo', 'age': '17', 'ville': 'Lyon'}, {'nom': 'Chen', 'age': '17', 'ville': 'Lyon'}]
La classe csv.DictReader transforme chaque ligne du fichier en dictionnaire, en utilisant la première ligne comme noms de clés. Une compréhension de liste filtre ensuite la table selon un critère, ici la ville.Les erreurs fréquentes à éviter
ligne["age"] vaut la chaîne '17' et non l'entier 17. Pour faire un calcul, il faut d'abord convertir avec int() ou float().L'astuce du prof
Exercices corrigés
Cherche d'abord seul, puis ouvre la correction.
Exercice 1
Voir la correction
Exercice 2

