Base de connaissances CCM
Programmation - Langages - Python




Sujet 2382 - [Python] Lire et écrire des fichiers CSV

[ Voir ce sujet en ligne ] - [ Catégorie: Programmation - Langages - Python ]

 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]
Publié par simonpca - Dernière mise à jour le 20 novembre 2009 à 14:09 par marlalapocket





© Tous droits réservés 2010 Jean-François Pillou