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 — пустой строкой.
