====== CSV ======
Doc: [[https://docs.python.org/3/library/csv.html]]
===== Fichier d'exemple =====
first_name,last_name,email
John,Doe,john.doe@mail.com
Mary,Smith,mary.smith@mail.com
Jane,Stuart,jane.stuart@mail.com
===== Lecture simple =====
import csv
with open("names.csv", "r") as csv_file:
csv_reader = csv.reader(csv_file)
for line in csv_reader:
first_name = line[0]
last_name = line[1]
email = line[2]
Chaque ligne est une liste de valeurs.
La première ligne contient les noms des colonnes.
==== Délimiteur ====
Si le délimiteur n'est pas spécifié, c'est par défaut la virgule.
On peut spécifier un autre délimiteur dans le constructeur :
csv_reader = csv.reader(csv_file, delimiter="\t")
csv_reader = csv.reader(csv_file, delimiter=";")
===== Écriture simple =====
import csv
with open("names.csv", "w") as csv_file:
csv_writer = csv.writer(csv_file, delimiter=";")
csv_writer.writerow(["Steve", "Rogers", "steve.rogers@mail.com"])
===== Lecture vers un dictionnaire =====
import csv
with open("names.csv", "r") as csv_file:
csv_reader = csv.DictReader(csv_file)
for line in csv_reader:
first_name = line["first_name"]
last_name = line["last_name"]
email = line["email"]
===== Écriture Dictionnaire =====
import csv
with open("names.csv", "w") as csv_file:
fieldnames = ["first_name", "last_name"]
csv_writer = csv.DictWriter(csv_file, fieldnames=fieldnames, delimiter="\t")
csv_writer.writeheader()
csv_writer.writerow({"first_name": "Neil", "last_name": "Jenkins"})
csv_writer.writerow({"first_name": "Tom", "last_name": "Jefferson"})
csv_writer.writerow({"first_name": "Sam", "last_name": "Smith"})