Python Glossary English

все Python 3Файлы и I/Oфункция

csv.writer()

csv — запись

Возвращает объект для записи CSV: writerow() и writerows() превращают списки значений в строки файла с нужными кавычками и разделителями.

Синтаксис

w = csv.writer(csvfile, dialect='excel', **fmtparams); w.writerow(row)

Строки заканчиваются на '\r\n' (так требует диалект excel), поэтому файл без newline='' на Windows получит '\r\r\n' — и между записями появятся пустые строки. Значения проходят через str(), а None записывается пустой строкой, так что при чтении обратно None не вернётся. Кавычки внутри поля удваиваются автоматически, руками их экранировать не нужно.

Примеры

import csv
import io
out = io.StringIO()
csv.writer(out).writerow(['a,b', 'he said "hi"', 3, None])
print(repr(out.getvalue()))  # → '"a,b","he said ""hi""",3,\r\n'
import csv
with open('out.csv', 'w', newline='', encoding='utf-8') as f:
    csv.writer(f).writerows([['x', 'y'], [1, 2]])
with open('out.csv', newline='', encoding='utf-8') as f:
    print(list(csv.reader(f)))  # → [['x', 'y'], ['1', '2']]

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности