Python écrire au CSV ligne par ligne
- Écrire des données dans un fichier CSV avec la gestion traditionnelle des fichiers en Python
-
Écrire des données dans un fichier CSV avec la fonction
csv.writer()
en Python
Ce didacticiel explique comment écrire des données tabulaires dans un fichier CSV en Python.
Écrire des données dans un fichier CSV avec la gestion traditionnelle des fichiers en Python
Cette méthode est réservée lorsque nos données sont déjà écrites dans un format séparé par des virgules et que nous devons les écrire dans un fichier.
Ce n’est pas une manière très pythonique de gérer les données CSV, mais cela fonctionne. Nous devons ouvrir un fichier CSV en mode écriture et écrire nos données dans le fichier ligne par ligne. L’extrait de code suivant montre une implémentation fonctionnelle de cette méthode.
data = [["var112"], ["var234"], ["var356"]]
with open("csvfile.csv", "w") as file:
for line in data:
for cell in line:
file.write(cell)
file.write("\n")
Fichier CSV :
Nous avons écrit une seule colonne à l’intérieur du csvfile.csv
avec la fonction file.write()
en Python.
Cette méthode n’est pas très conviviale lorsqu’il s’agit de gérer des fichiers CSV. Cette méthode très simple ne fonctionne que lorsque nos données sont simples. Au fur et à mesure que nos données commencent à grossir et deviennent de plus en plus complexes à manipuler, cette méthode devient très difficile à utiliser.
Pour nous éviter le casse-tête lié au traitement de différents problèmes de gestion de fichiers, nous devons utiliser la méthode décrite dans la section suivante.
Écrire des données dans un fichier CSV avec la fonction csv.writer()
en Python
Nous utiliserons le module csv
en Python dans cette méthode.
Le module csv
gère les fichiers et les données CSV en Python. La fonction writer()
à l’intérieur de la bibliothèque csv
prend le fichier CSV comme paramètre d’entrée et renvoie un objet écrivain chargé de convertir les données utilisateur au format CSV et de les écrire dans le fichier.
Nous pouvons écrire des données dans notre fichier CSV avec la fonction writerows()
à l’intérieur de cet objet écrivain. L’extrait de code suivant montre une implémentation fonctionnelle de cette approche.
import csv
data = [["var1", "val1", "val2"], ["var2", "val3", "val4"], ["var3", "val5", "val6"]]
with open("csvfile2.csv", "w") as file:
writer = csv.writer(file)
writer.writerows(data)
Fichier CSV :
Nous avons écrit les valeurs stockées dans la liste imbriquée data
dans le fichier csvfile2.csv
. Chaque liste dans les data
correspond à une ligne unique dans le fichier de sortie.
Cette méthode est préférée à notre approche précédente car le module csv
facilite la manipulation des données CSV en Python. Notez que nous devons toujours utiliser la gestion de fichiers avec cette méthode, mais c’est beaucoup plus facile que d’utiliser simplement la technique de gestion de fichiers traditionnelle.
Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.
LinkedIn