HOWTO · Python
Comment écrire une liste au format CSV en Python
Un fichier csv peut être écrit en utilisant des valeurs de liste Python. Des méthodes telles que csv.writer(), writerow(), pandas, et les bibliothèques numpy sont utilisées à cette fin.
Sur cette page
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