все 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Сообщить о неточности