Python écrire au CSV ligne par ligne

Muhammad Maisam Abbas 30 janvier 2023
  1. Écrire des données dans un fichier CSV avec la gestion traditionnelle des fichiers en Python
  2. Écrire des données dans un fichier CSV avec la fonction csv.writer() en Python
Python écrire au CSV ligne par ligne

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 :

Écrire des données dans un fichier CSV avec la gestion traditionnelle des fichiers en Python

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 :

csv2

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.

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

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

Article connexe - Python CSV