Сообщить об ошибке.

Функция writer() модуля csv в Python

Создание и запись данных в файл CSV

Синтаксис:

import csv

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

Параметры:

  • csvfile - файловый объект,
  • dialect - строка с встроенным диалектом из списка csv.list_dialects() или объект Dialect,
  • fmtparams - параметры диалекта и форматирования. В качестве ключевых аргументов используйте имена атрибутов объекта Dialect:
    • delimiter=',' - символ, используемый для разделения полей.
    • quotechar='' - символ, используемый для кавычек в полях, содержащих специальные символы, такие как разделитель.
    • escapechar='\\' - символ, используемый для экранирования разделителя.
    • quoting=csv.QUOTE_MINIMAL - определяет, когда должны генерироваться кавычки для полей.
    • strict=False - если True, то выдает исключение при неправильной разметке CSV.

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

Описание:

Функция writer() модуля csv возвращает объект записи, отвечающий за преобразование пользовательских данных в строки с разделителями для данного файлового объекта.

Csvfile может быть любым объектом с поддержкой метода file.write(). Если csvfile является файловым объектом, его следует открыть с помощью параметра newline='' встроенной функции open().

Можно указать необязательный параметр диалекта dialect, который используется для определения набора параметров, специфичных для конкретного диалекта CSV. Это может быть экземпляр подкласса csv.Dialect или одна из строк, возвращаемых функцией csv.list_dialects().

Другие необязательные ключевые аргументы fmtparams могут быть заданы для переопределения отдельных параметров форматирования в текущем диалекте. Для получения полной информации о параметрах диалекта и форматирования смотрите раздел "Диалекты и параметры форматирования модуля csv".

Чтобы максимально упростить взаимодействие с модулями, которые реализуют API БД, значение None записывается в виде пустой строки. Хотя это и не обратимое преобразование, оно облегчает вывод значений NULL из SQL в файлы CSV без предварительной обработки данных, возвращаемых вызовом cursor.fetch*. Все другие не строковые данные перед записью преобразуются в строки, функцией str().

Примеры использования:

import csv

# пишем
with open('eggs.csv', 'w', newline='') as csvfile:
    spamwriter = csv.writer(csvfile, delimiter=' ',
                            quotechar='|', quoting=csv.QUOTE_MINIMAL)
    spamwriter.writerow(['Spam'] * 5 + ['Baked Beans'])
    spamwriter.writerow(['Spam', 'Lovely Spam', 'Wonderful Spam'])

# читаем что получилось
with open('eggs.csv', newline='') as csvfile:
    spamreader = csv.reader(csvfile, delimiter=' ', quotechar='|')
    for row in spamreader:
        print(', '.join(row))

# Spam, Spam, Spam, Spam, Spam, Baked Beans
# Spam, Lovely Spam, Wonderful Spam