[Python] Lire et écrire des fichiers CSV

Dernière mise à jour le 20 octobre 2006 à 18:59 par kilian
Publié par simonpca
                   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]
Meilleures réponses pour « Lire et écrire des fichiers CSV » dans :
Fichier CSV Voir Format CSV Un fichier CSV est un fichier tableur, contenant des données sur chaque ligne séparés par un caractère de séparation (généralement une virgule ou un point-virgule). Comment lire un fichier CSV ? Il peut être lu avec un tableur tel que...
Comment lire un fichier ligne par ligne VoirComment lire un fichier ligne par ligne Préambule Boucle while Syntaxe Exemple Astuces Bonus Boucle for Syntaxe Préambule Une des erreurs les plus communes dans l'apprentissage des scripts "bash" sous GNU/LInux pour lire un fichier...
Excel - Convertir fichier(s) CSV / XLS VoirComme dit dans le titre, cette application convertit des fichiers CSV en fichiers XLS N’est pas nécessaire pour Excel 2007, ce dernier faisant la conversion automatiquement La conversion n’ayant pas de mise en forme, en cas de modification...
Lire un fichier en .rbs VoirOn peut rencontrer parfois des fichiers en .rbs, issus d'un enregistrement ou un autre. La solution la plus simple pour lire ces fichiers est tout bêtement de remplacer l'extension .rbs par .mp3 Si vous ne voyez pas l'extension du fichier, faites...