Справочник по функциям Python

csv.writer

Создаёт объект для записи строк в формате CSV.

Python 3.13
csv.writer(csvfile, dialect='excel', **fmtparams)

Параметры

csvfileTextIO
Файл, открытый на запись с newline='', или io.StringIO.
dialectstr | Dialectнеобязательный
Набор настроек формата; по умолчанию 'excel' — CSV через запятую.
**fmtparamsAny
Отдельные настройки, например delimiter=';' или lineterminator — конец строки.

Возвращаемое значение

Объект writer с методами writerow(row) и writerows(rows).

Примеры

Запись таблицы в файл

Python 3.13
import csv

with open('people.csv', 'w', newline='', encoding='utf-8') as file:
    writer = csv.writer(file)
    writer.writerow(['name', 'age'])
    writer.writerows([['Anna', 25], ['Boris', 31]])

with open('people.csv', encoding='utf-8') as file:
    print(file.read(), end='')
name,age
Anna,25
Boris,31

Кавычки ставятся автоматически

Python 3.13
import csv
import io

buffer = io.StringIO()
writer = csv.writer(buffer, lineterminator='\n')
writer.writerow(['Moscow', 'big, busy', 'say "hi"'])
print(buffer.getvalue(), end='')
Moscow,"big, busy","say ""hi"""

Подробности

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

Смотрите также

Где изучить