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

Модуль csv в Python, работа с CSV форматом

Чтение и запись CSV файлов

Так называемый формат CSV (Comma Separated Values) является наиболее распространенным форматом импорта и экспорта для электронных таблиц и баз данных. Формат CSV использовался в течение многих лет до попыток стандартизировать описание формата в RFC 4180. Отсутствие четко определенного стандарта означает, что в данных, создаваемых и потребляемых различными приложениями, часто существуют тонкие различия. Эти различия могут раздражать при обработке файлов CSV из нескольких источников. Тем не менее, хотя разделители и символы кавычек различаются, общий формат достаточно схож, так что можно написать один модуль, который может эффективно манипулировать такими данными, скрывая детали чтения и записи данных от программиста.

Модуль csv реализует классы для чтения и записи табличных данных в формате CSV. Это позволяет программистам говорить "записывать данные в формате, предпочтительном для Excel" или "читать данные из файла, сгенерированного Excel", не зная точных деталей формата CSV. Программисты также могут описывать форматы CSV, понятные другим приложениям или определять свои собственные специализированные форматы CSV.

Объекты csv.reader() и csv.writer() модуля csv читают и записывают последовательности. Программисты также могут читать и записывать данные в виде словаря, используя классы csv.DictReader() и csv.DictWriter.

С целью предварительного анализа данных, содержащихся в CSV-файле, рекомендуем посмотреть в сторону Python модуля csvkit. Модуль csvkit - это набор инструментов командной строки (CLI) для различных преобразований, анализа и просто работы с CSV-файлами. Включает в себя 14 инструментов: in2csv, sql2csv, csvclean, csvcut, csvgrep, csvjoin, csvsort, csvstack, csvformat, csvjson, csvlook, csvpy, csvsql.


Приемы работы с модулем csv в Python

В этом разделе показаны наиболее встречающиеся приемы работы с модулем csv.

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

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

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

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

Класс DictReader() модуля csv в Python

Класс DictReader() модуля csv создает объект, который работает как обычный reader(), но отображает информацию в каждой строке в словаре dict, ключи которого задаются необязательным параметром fieldnames.

Класс DictWriter() модуля csv в Python

Класс DictWriter() модуля csv создает объект, который работает как csv.writer(), но позволяет передавать строку с данными на запись как словарь, ключи которой задаются необязательным параметром fieldnames.

Класс Sniffer() модуля csv в Python

Класс `Sniffer()` модуля `csv` используется для определения формата файла CSV.

Объект чтения CSV файла

Объект чтения `Reader` - это экземпляры класса `csv.DictReader()` и объекты, возвращаемые функцией `csv.reader()`, которые имеют открытые методы и атрибуты.

Объект записи CSV файла

Объекты записи - это экземпляры класса `csv.DictWriter()` и объекты, возвращаемые функцией `csv.writer()` имеют открытые методы.

Класс Dialect модуля csv в Python

Класс `Dialect` модуля `csv` это контейнерный класс с атрибутами, которые используются для определения параметров для конкретного экземпляра `csv.reader()` или `csv.writer()`.

Вспомогательные функции и классы модуля csv

В этом разделе описаны все вспомогательные функции и классы модуля `csv`.

Константы модуля csv

Модуль csv определяет 4 константы.