Comment écrire une liste au format CSV en Python

Azaz Farooq 30 janvier 2023
  1. Écrire une liste en CSV en Python en utilisant la méthode csv.writer()
  2. Écrire la liste au format CSV en Python en utilisant la méthode des guillemets
  3. Ecrire la liste au format CSV en Python en utilisant la méthode pandas
  4. Écrire la liste en CSV en Python en utilisant la méthode NumPy
Comment écrire une liste au format CSV en Python

Un fichier CSV peut stocker les données sous forme de tableau. Ces données sont un simple texte ; chaque ligne de données est appelée enregistrement, et chacune d’entre elles peut être séparée par une virgule.

Cet article traitera des différentes méthodes pour écrire une liste en CSV en Python.

Écrire une liste en CSV en Python en utilisant la méthode csv.writer()

Commençons par importer le module csv :

import csv

Supposons que nous prenions les entrées suivantes pour les écrire dans un fichier CSV.

RollNo, Name, Subject
1, ABC, Economics
2, TUV, Arts
3, XYZ, Python

Maintenant, le code complet de l’exemple est le suivant :

import csv

with open("students.csv", "w", newline="") as student_file:
    writer = csv.writer(student_file)
    writer.writerow(["RollNo", "Name", "Subject"])
    writer.writerow([1, "ABC", "Economics"])
    writer.writerow([2, "TUV", "Arts"])
    writer.writerow([3, "XYZ", "Python"])

Si vous exécutez les codes ci-dessus, le fichier students.csv sera créé, ligne par ligne, dans le répertoire courant avec les entrées qui sont présentes dans le code. La fonction csv.writer() créera l’objet writer(), et la commande writer.writerow() insérera les entrées ligne par ligne dans le fichier CSV.

Écrire la liste au format CSV en Python en utilisant la méthode des guillemets

Dans cette méthode, nous verrons comment nous pouvons écrire des valeurs dans un fichier CSV avec des guillemets. Voici un exemple de code complet :

import csv

list = [["RN", "Name", "GRADES"], [1, "ABC", "A"], [2, "TUV", "B"], [3, "XYZ", "C"]]
with open("studentgrades.csv", "w", newline="") as file:
    writer = csv.writer(file, quoting=csv.QUOTE_ALL, delimiter=";")
    writer.writerows(list)

Le fichier studentgrades.csv sera créé dans le répertoire courant. La fonction csv.QUOTE_ALL() place des guillemets doubles sur toutes les entrées, en utilisant un délimiteur ; pour la séparation.

Production:

RN;"Name";"GRADES"
1;"ABC";"A"
2;"TUV";"B"
3;"XYZ";"C"

Ecrire la liste au format CSV en Python en utilisant la méthode pandas

Cette méthode utilise la bibliothèque Pandas, qui contient une DataFrame complète. Si vous n’avez pas cette bibliothèque installée sur votre PC, vous pouvez utiliser un outil en ligne appelé Google Colab.

L’exemple de code complet est le suivant :

import pandas as pd

name = ["ABC", "TUV", "XYZ", "PQR"]
degree = ["BBA", "MBA", "BSC", "MSC"]
score = [98, 90, 88, 95]
dict = {"name": name, "degree": degree, "score": score}
df = pd.DataFrame(dict)
df.to_csv("test.csv")

Production:

	name	degree	score
0	ABC	    BBA	     98
1	TUV	    MBA	     90
2	XYZ	    BSC	     88
3	PQR	    MSC	     95

Cette méthode écrit la liste Python dans un fichier CSV en tant que DataFrame.

Écrire la liste en CSV en Python en utilisant la méthode NumPy

Cette méthode utilise la bibliothèque NumPy pour enregistrer une liste dans un fichier CSV en Python. L’exemple de code complet est le suivant :

import numpy as np

list_rows = [
    ["ABC", "COE", "2", "9.0"],
    ["TUV", "COE", "2", "9.1"],
    ["XYZ", "IT", "2", "9.3"],
    ["PQR", "SE", "1", "9.5"],
]
np.savetxt("numpy_test.csv", list_rows, delimiter=",", fmt="% s")

La fonction savetxt() de la bibliothèque NumPy va écrire un fichier CSV à partir de la liste Python.

Production:

ABC	 COE	2	9
TUV	 COE	2	9.1
XYZ	 IT	2	9.3
PQR	 SE	1	9.5

Article connexe - Python CSV

Article connexe - Python List