Python - Lire et écrire des fichiers CSV

Décembre 2016

 LIRE ET ÉCRIRE DES FICHIERS CSV


Python www.python.org, dans sa version 2.4 supporte de facto le format CSV (comma-separated values: valeurs séparées par des virgules).

La Library Reference est certes très explicative à ce sujet, mais uniquement en anglais.

Voici donc comment lire et écrire du CSV avec Python.

Prérequis


Rien de bien sorcier...

-> Connaissance de Python
-> Distribution Python 2.4

Écriture dans un fichier CSV


Commençons par importer le module CSV.
import csv

Nous allons définir un objet "writer" (nommé c) qui pourra être par la suite utilisé pour écrire dans le fichier CSV.
c = csv.writer(open("MONFICHIER.csv", "wb"))

Maintenant, on va lui appliquer la méthode writerow pour écrire une rangée. La méthode writerow prend un argument: cet argument doit être une liste et chaque élément de la liste équivaut à une colonne. Ici, on essaiera de faire un carnet d'adresses.
c.writerow(["Nom","Adresse","Telephone","Fax","Courriel","Autres"])

Puis, on stocke chaque entrée de cette façon.

Lecture d'un fichier CSV


Ce n'est pas bien plus sorcier!

On crée tout d'abord un objet "reader" (que nous nommerons cr).
cr = csv.reader(open("MONFICHIER.csv","rb"))

Et là, on obtient chaque rangée (sous forme d'une liste des colonnes) comme ceci:
for row in cr:
    print row

On peut bien entendu extraire une entrée précise d'une rangée avec l'index (comme pour une liste; c'est une liste).
for row in reader:
    print row[2], row[-2]

A voir également :

Ce document intitulé «  Python - Lire et écrire des fichiers CSV  » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.