Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Formats de fichiers populaires

APERTO-NOTA

Comma Separated Values : CSV

Lire et écrire un fichier CSV en Python se fait facilement avec le module intégré csv. Pour lire un fichier, on utilise csv.reader ou csv.DictReader, qui permet de parcourir les lignes du fichier. Pour écrire, on utilise csv.writer ou csv.DictWriter, qui permet d’ajouter des lignes dans un format structuré.

Exemple de lecture

import csv

with open('exemple.csv', mode='r', newline='') as fichier:
    lecteur = csv.reader(fichier)
    for ligne in lecteur:
        print(ligne)

Exemple d’écriture

import csv

with open('exemple.csv', mode='w', newline='') as fichier:
    ecrivain = csv.writer(fichier)
    ecrivain.writerow(['Nom', 'Âge'])
    ecrivain.writerow(['Alice', 30])
    ecrivain.writerow(['Bob', 25])

Ces exemples montrent comment manipuler des fichiers CSV de manière simple, que ce soit pour lire des données ligne par ligne ou pour en écrire de nouvelles.

Solution to Exercise 1 #
import csv

# 1. Lecture du fichier CSV
with open('users.csv', mode='r', newline='') as file:
    reader = csv.DictReader(file)
    users = list(reader)

# 2. Affichage des utilisateurs
print("Utilisateurs existants :")
for user in users:
    print(user)

# 3. Ajout d'un nouvel utilisateur
new_user = {'id': '4', 'name': 'David', 'email': 'david@example.com'}
users.append(new_user)

# 4. Bonus : tri par nom
users.sort(key=lambda x: x['name'])

# 5. Sauvegarde dans le fichier CSV
with open('users.csv', mode='w', newline='') as file:
    fieldnames = ['id', 'name', 'email']
    writer = csv.DictWriter(file, fieldnames=fieldnames)
    writer.writeheader()
    writer.writerows(users)

print("\nNouvel utilisateur ajouté et fichier mis à jour.")