Python Language
Écrire dans un fichier CSV à partir d'une chaîne ou d'une liste
Recherche…
Introduction
L'écriture dans un fichier .csv n'est pas sans rappeler l'écriture dans un fichier régulier à tous égards, et est assez simple. Au mieux de mes capacités, je couvrirai l'approche la plus simple et la plus efficace du problème.
Paramètres
Paramètre | Détails |
---|---|
open ( "/ path /" , "mode") | Spécifiez le chemin d'accès à votre fichier CSV |
ouvert (chemin, "mode" ) | Spécifiez le mode pour ouvrir le fichier (lecture, écriture, etc.) |
csv.writer ( fichier , délimiteur) | Passer le fichier CSV ouvert ici |
csv.writer (fichier, délimiteur = '' ) | Spécifier le caractère ou le motif du délimiteur |
Remarques
open( path, "wb")
"wb"
- Mode d'écriture.
Le paramètre b
dans "wb"
nous avons utilisé n'est nécessaire que si vous voulez l'ouvrir en mode binaire, ce qui n'est nécessaire que dans certains systèmes d'exploitation comme Windows.
csv.writer ( csv_file, delimiter=',' )
Ici, le délimiteur que nous avons utilisé est ,
car nous voulons que chaque cellule de données dans une rangée contienne respectivement le prénom, le nom de famille et l'âge. Étant donné que notre liste est divisée le long de la ,
aussi, il se révèle assez pratique pour nous.
Exemple d'écriture de base
import csv
#------ We will write to CSV in this function ------------
def csv_writer(data, path):
#Open CSV file whose path we passed.
with open(path, "wb") as csv_file:
writer = csv.writer(csv_file, delimiter=',')
for line in data:
writer.writerow(line)
#---- Define our list here, and call function ------------
if __name__ == "__main__":
"""
data = our list that we want to write.
Split it so we get a list of lists.
"""
data = ["first_name,last_name,age".split(","),
"John,Doe,22".split(","),
"Jane,Doe,31".split(","),
"Jack,Reacher,27".split(",")
]
# Path to CSV file we want to write to.
path = "output.csv"
csv_writer(data, path)
Ajout d'une chaîne en tant que nouvelle ligne dans un fichier CSV
def append_to_csv(input_string):
with open("fileName.csv", "a") as csv_file:
csv_file.write(input_row + "\n")