• Mémo Créer et lire un document CSV

  • Organiser des données

CSV est un format très pratique permettant de gérer des tableurs.

import csv

data = [
    ["Gaston", "m'enfin ?"],
    ["Prunelle", "rogntudjû"],
    ["La mouette", "hihihîâââr"]
]

with open("outch.csv", "w") as fichier:
    writer = csv.writer(fichier, delimiter='|')
    header = ["Personnage", "Cri primal"]
    writer.writerow(header)
    writer.writerows(data)

ou

with open("outch.csv", "w") as fichier:
    writer = csv.writer(fichier, delimiter='|')
    header = ["Personnage", "Cri primal"]
    writer.writerow(header)
    for d in data:
        writer.writerow(d)

En sortie :

Personnage|Cri primal
Gaston|m'enfin ?
Prunelle|rogntudjû
La mouette|hihihîâââr

Pour lire un document .csv:

with open('outch.csv', 'r') as file:
    reader = csv.reader(file, delimiter='|')
    for row in reader:
        print(row)

En sortie :

['Personnage', 'Cri primal']
['Gaston', "m'enfin ?"]
['Prunelle', 'rogntudjû']
['La mouette', 'hihihîâââr']

Quelques fonctions utiles :

import csv


def from_csv(filename: str) -> list:
    with open(filename, "r") as csv_file:
        reader = csv.DictReader(csv_file)
        return [row for row in reader]


def to_csv(filename: str, headers: list, body: dict) -> None:
    with open(filename, "wb") as csvfile:
        writer = csv.DictWriter(csvfile, delimiter=";", fieldnames=headers)
        writer.writeheader()
        writer.writerows(body)


25 avril 2019 10:58