Leçon 9 / 10 — Chapitre 9: Mise en pratique : carnet de contacts
Exporter les contacts vers un fichier CSV
Neuvième étape : réécrire le carnet dans un fichier CSV, avec csv.DictWriter — la variante de csv.writer (vu au quatrième chapitre) adaptée aux dictionnaires, qui écrit directement une ligne à partir de ses clés et valeurs.
import csv
def exporter_contacts(carnet, chemin="contacts.csv"):
with open(chemin, "w", newline="") as fichier:
colonnes = ["nom", "mobile"]
ecrivain = csv.DictWriter(fichier, fieldnames=colonnes)
ecrivain.writeheader()
for contact in carnet:
ecrivain.writerow({"nom": contact["nom"], "mobile": contact["telephones"].get("mobile", "")})
carnet = [{"nom": "Amina", "telephones": {"mobile": "0102030405"}}]
exporter_contacts(carnet)
fieldnames=colonnes précise l'ordre et le nom des colonnes du fichier ; .writeheader() écrit cette ligne d'en-tête en premier. .writerow(dictionnaire) écrit ensuite chaque ligne à partir d'un dictionnaire dont les clés correspondent aux fieldnames.
contact["telephones"].get("mobile", "") utilise .get() (vu au premier chapitre) avec une valeur de secours vide, au cas où un contact n'aurait pas de numéro mobile enregistré — évitant une KeyError sur un contact incomplet.
À vous de jouer : exportez un carnet d'au moins deux contacts vers un fichier CSV avec csv.DictWriter, puis rechargez-le avec csv.DictReader pour vérifier le résultat.
Continuez ce module
Débloquez les leçons restantes ainsi que la certification finale.
2 500 XOF / 3,81 € / 4,15 $
Débloquez les 85 leçons restantes de ce module
Votre paiement est vérifié avant l'activation de l'accès