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.")