Outils pour utilisateurs

Outils du site


python:csv

CSV

Fichier d'exemple

names.csv
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"})
python/csv.txt · Dernière modification: 2021/10/29 05:24 par marclebrun