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

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

Чтение и разбор файла CSV.

Синтаксис:

import csv

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

Параметры:

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

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

Описание:

Функция reader() модуля csv возвращает объект чтения, который будет перебирать строки в данном файле csvfile.
Файл csvfile может быть любым объектом, который поддерживает протокол итератора и возвращает строку каждый раз, когда вызывается метод __next__(). Другими словами, подходят как файловые объекты, так и объекты списка. Если csvfile является файловым объектом, его следует открыть с помощью параметра newline = '' встроенной функции open().
Можно указать необязательный параметр диалекта dialect, который используется для определения набора параметров, специфичных для конкретного диалекта CSV. Это может быть экземпляр подкласса csv.Dialect или одна из строк, возвращаемых функцией csv.list_dialects().
Другие необязательные ключевые аргументы fmtparams могут быть заданы для переопределения отдельных параметров форматирования в текущем диалекте. Для получения полной информации о параметрах диалекта и форматирования смотрите раздел "Диалекты и параметры форматирования модуля csv".
Каждая строка, считанная из файла CSV, возвращается в виде списка строк. По умолчанию автоматическое преобразование типов данных не выполняется. Если указана опция формата QUOTE_NONNUMERIC, то в этом случае поля без кавычек преобразуются в числа с плавающей точкой.

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

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