====== 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"})