PaliSkill
Python intermédiaire

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