CSV-faili kirjutamine

CSV (comma-separeted values) on tekstifail, kus andmed on eraldatud eraldajaga (tavaliselt koma või semikoolon). Esimesel real on tavaliselt veergude pealkirjad. Igal järgmisel real on andmed.

Näide CSV-failist, kus eraldaja on semikoolon (;):

Name;Department;Birthday month
John Smith;Accounting;November
Erica Meyers;IT;March

CSV-faili kirjutamiseks tuleb kõigepealt avada fail kirjutamiseks. Seejärel saab luua CSV-kirjutaja sellest faili objektist.

import csv

data = [
    ['John Smith', 'Accounting', 'November'],
    ['Erica Meyers', 'IT', 'March']
]
with open('file.csv', 'w', newline='') as csv_file:
    csv_writer = csv.writer(csv_file, delimiter=";")
    # header
    csv_writer.writerow(['Name', 'Department', 'Birthday month'])
    for row in data:
        # write list of values
        csv_writer.writerow(row)

Koodinäite puhul tuleb tähele panna, et faili avades anname kaasa newline=''. Kuna csv.writer ise lisab iga rea lõppu reavahetuse, siis tekiks topelt-reavahetus. Seepärast on faili avamisel määratud reavahetuseks tühisõne (reavahetus tekib vaid CSV kirjutajast). Ühtlasi CSV kirjutaja objekti luues anname kaasa eraldajaks semikooloni. Andmeid kirjutatakse faili järjendina - elementide vahele pannakse määratud eraldaja.