Spec-Zone.ru › pandas 0.25

pandas.read_csv

pandas.read_csv(filepath_or_buffer: Union[str, pathlib.Path, IO[~AnyStr]], sep=',', delimiter=None, header='infer', names=None, index_col=None, usecols=None, squeeze=False, prefix=None, mangle_dupe_cols=True, dtype=None, engine=None, converters=None, true_values=None, false_values=None, skipinitialspace=False, skiprows=None, skipfooter=0, nrows=None, na_values=None, keep_default_na=True, na_filter=True, verbose=False, skip_blank_lines=True, parse_dates=False, infer_datetime_format=False, keep_date_col=False, date_parser=None, dayfirst=False, cache_dates=True, iterator=False, chunksize=None, compression='infer', thousands=None, decimal=b'.', lineterminator=None, quotechar='"', quoting=0, doublequote=True, escapechar=None, comment=None, encoding=None, dialect=None, error_bad_lines=True, warn_bad_lines=True, delim_whitespace=False, low_memory=True, memory_map=False, float_precision=None) [source]

Чтение файла с разделителем запятая (csv) в DataFrame.

Также поддерживает необязательное итеративное чтение или разбивку файла на куски.

Дополнительную помощь можно найти в онлайн-документации по Инструментам ввода-вывода.

Параметры:
filepath_or_buffer : str, path object or file-like object

Любой допустимый путь к строке приемлем. Строка может быть URL. Допустимые схемы URL включают http, ftp, s3 и file. Для URL-адресов файлов ожидается хост. Локальный файл может быть: file://localhost/path/to/table.csv.

Если вы хотите передать объект пути, pandas принимает любой os.PathLike.

Под объектом типа «подобный файлу» мы подразумеваем объекты с методом read(), например, обработчик файла (например, с помощью встроенной функции open ) или StringIO.

sep : str, default ‘,’

Разделитель, используемый для разделения данных. Если sep равно None, движок C не может автоматически определить разделитель, но движок Python может, поэтому будет использоваться последний, автоматически определяя разделитель с помощью встроенного инструмента анализа pandas, csv.Sniffer. Кроме того, разделители длиной более 1 символа и отличные от '\s+' будут интерпретироваться как регулярные выражения и также будут принудительно использовать движок Python. Обратите внимание, что разделители регулярных выражений могут игнорировать данные в кавычках. Пример регулярного выражения: '\r\t'.

delimiter : str, default None

Псевдоним для sep.

header : int, list of int, default ‘infer’

Номер(а) строки(ок), используемый(ые) в качестве имен столбцов и начала данных. По умолчанию имена столбцов выводятся: если имена не переданы, поведение идентично header=0, и имена столбцов выводятся из первой строки файла, если имена столбцов явно переданы, то поведение идентично header=None. Явно передайте header=0, чтобы иметь возможность заменить существующие имена. Заголовок может быть списком целых чисел, которые указывают расположение строк для многоуровневого индекса столбцов, например, [0,1,3]. Промежуточные строки, которые не указаны, будут пропущены (например, 2 в этом примере пропущена). Обратите внимание, что этот параметр игнорирует строки с комментариями и пустые строки, если skip_blank_lines=True, поэтому header=0 обозначает первую строку данных, а не первую строку файла.

names : array-like, optional

Список имен столбцов для использования. Если файл не содержит строки заголовка, вы должны явно передать header=None. Дубликаты в этом списке не допускаются.

index_col : int, str, sequence of int / str, or False, default None

Столбец(цы) для использования в качестве меток строк DataFrame, заданный либо именем строки, либо индексом столбца. Если задана последовательность int / str, используется многоуровневый индекс.

Примечание: index_col=False может использоваться для принудительного отказа pandas от использования первого столбца в качестве индекса, например, при наличии некорректного файла с разделителями в конце каждой строки.

usecols : list-like or callable, optional

Возвращает подмножество столбцов. Если задан список, все элементы должны быть позиционными (т.е. целочисленными индексами в столбцы документа) или строками, соответствующими именам столбцов, предоставленными пользователем в names или выведенными из строки(ок) заголовка документа. Например, допустимым списковым параметром usecols был бы [0, 1, 2] или ['foo', 'bar', 'baz']. Порядок элементов игнорируется, поэтому usecols=[0, 1] равносильно [1, 0]. Для создания DataFrame из data с сохранением порядка элементов используйте pd.read_csv(data, usecols=['foo', 'bar'])[['foo', 'bar']] для столбцов в порядке ['foo', 'bar'] или pd.read_csv(data, usecols=['foo', 'bar'])[['bar', 'foo']] для порядка ['bar', 'foo'].

Если это вызываемый объект, вызываемая функция будет оцениваться по отношению к именам столбцов, возвращая имена, где вызываемая функция оценивается как True. Примером допустимого вызываемого аргумента является lambda x: x.upper() in ['AAA', 'BBB', 'DDD']. Использование этого параметра приводит к значительно более быстрому времени обработки и меньшему использованию памяти.

squeeze : bool, default False

Если проанализированные данные содержат только один столбец, возвращается Series.

prefix : str, optional

Префикс, добавляемый к номерам столбцов при отсутствии заголовка, например, ‘X’ для X0, X1, …

mangle_dupe_cols : bool, default True

Дубликаты столбцов будут указаны как ‘X’, ‘X.1’, …’X.N’, а не ‘X’…’X’. Передача False приведет к перезаписи данных, если в столбцах есть дублирующиеся имена.

dtype : Type name or dict of column -> type, optional

Тип данных для данных или столбцов. Например, {‘a’: np.float64, ‘b’: np.int32, ‘c’: ‘Int64’}. Используйте str или object вместе с соответствующими na_values параметрами для сохранения и предотвращения интерпретации типа dtype. Если указаны преобразователи, они будут применяться ВМЕСТО преобразования типа dtype.

engine : {‘c’, ‘python’}, optional

Движок анализа, используемый для разбора данных. Движок C быстрее, но движок Python в настоящее время более функционально завершен.

converters : dict, optional

Словарь функций для преобразования значений в определённых столбцах. Ключи могут быть либо целыми числами, либо метками столбцов.

true_values : list, optional

Значения, которые следует рассматривать как True.

false_values : list, optional

Значения, которые следует рассматривать как False.

skipinitialspace : bool, default False

Пропуск пробелов после разделителя.

skiprows : list-like, int or callable, optional

Номера строк для пропуска (индексирование с 0) или количество строк для пропуска (int) в начале файла.

Если это вызываемый объект, вызываемая функция будет оцениваться по отношению к индексам строк, возвращая True, если строка должна быть пропущена, и False в противном случае. Примером допустимого вызываемого аргумента является lambda x: x in [0, 2].

skipfooter : int, default 0

Количество строк в конце файла для пропуска (не поддерживается с engine='c').

nrows : int, optional

Количество строк файла для чтения. Полезно для чтения фрагментов больших файлов.

na_values : scalar, str, list-like, or dict, optional

Дополнительные строки, распознаваемые как NA/NaN. Если передан словарь, специфичные значения NA для каждого столбца. По умолчанию следующие значения интерпретируются как NaN: ‘’, ‘#N/A’, ‘#N/A N/A’, ‘#NA’, ‘-1.#IND’, ‘-1.#QNAN’, ‘-NaN’, ‘-nan’, ‘1.#IND’, ‘1.#QNAN’, ‘N/A’, ‘NA’, ‘NULL’, ‘NaN’, ‘n/a’, ‘nan’, ‘null’.

keep_default_na : bool, default True

Включать или нет значения NaN по умолчанию при разборе данных. В зависимости от того, что передано в na_values, поведение следующее:

  • Если keep_default_na равно True, и na_values заданы, na_values добавляется к значениям NaN по умолчанию, используемым для разбора.
  • Если keep_default_na равно True, и na_values не заданы, для разбора используются только значения NaN по умолчанию.
  • Если keep_default_na равно False, и na_values заданы, для разбора используются только заданные значения NaN na_values.
  • Если keep_default_na равно False, и na_values не заданы, никакие строки не будут разбираться как NaN.

Обратите внимание, что если na_filter передано как False, параметры keep_default_na и na_values будут проигнорированы.

na_filter : bool, default True

Обнаружение маркеров отсутствующих значений (пустые строки и значения na_values). При разборе данных без каких-либо NA, передача na_filter=False может улучшить производительность чтения большого файла.

verbose : bool, default False

Указывает количество значений NA, помещенных в нечисленные столбцы.

skip_blank_lines : bool, default True

Если True, пропускать пустые строки вместо интерпретации как значений NaN.

parse_dates : bool or list of int or names or list of lists or dict, default False

Поведение таково:

  • boolean. Если True -> попытка разбора индекса.
  • список int или имен. Например, если [1, 2, 3] -> попытка разбора столбцов 1, 2, 3 в качестве отдельных столбцов дат.
  • список списков. Например, если [[1, 3]] -> объединение столбцов 1 и 3 и разбор в качестве одного столбца дат.
  • словарь, например, {‘foo’ : [1, 3]} -> разбор столбцов 1, 3 как дат и присвоение результата имени ‘foo’

Если столбец или индекс не может быть представлен как массив дат, например, из-за неразбираемого значения или смеси часовых поясов, столбец или индекс будет возвращен неизменённым как тип данных object. Для нестандартного разбора дат используйте pd.to_datetime после pd.read_csv. Для разбора индекса или столбца со смешанными часовыми поясами задайте date_parser как частично применённую функцию pandas.to_datetime() с utc=True. См. Разбор CSV со смешанными часовыми поясами для получения дополнительной информации.

Примечание: существует быстрый путь для дат в формате iso8601.

infer_datetime_format : bool, default False

Если True и parse_dates включено, pandas попытается определить формат строк дат в столбцах и, если это возможно, переключиться на более быстрый метод их разбора. В некоторых случаях это может увеличить скорость разбора на 5-10 раз.

keep_date_col : bool, default False

Если True и parse_dates определяет объединение нескольких столбцов, сохраняются исходные столбцы.

date_parser : function, optional

Функция, используемая для преобразования последовательности столбцов строк в массив экземпляров дат. По умолчанию используется dateutil.parser.parser для выполнения преобразования. Pandas попытается вызвать date_parser тремя различными способами, переходя к следующему, если произойдёт исключение: 1) передать один или несколько массивов (как определено parse_dates ) в качестве аргументов; 2) конкатенировать (по строкам) значения строк из столбцов, определённых parse_dates , в один массив и передать его; и 3) вызвать date_parser один раз для каждой строки, используя одну или несколько строк (соответствующих столбцам, определённым parse_dates ) в качестве аргументов.

dayfirst : bool, default False

Даты в формате ДД/ММ, международный и европейский формат.

cache_dates : boolean, default True

Если True, использовать кэш уникальных преобразованных дат для применения преобразования даты. Может значительно ускорить процесс разбора, когда встречаются повторяющиеся строки дат, особенно с смещениями часовых поясов.

Добавлена в версии 0.25.0.

iterator : bool, default False

Возвращает объект TextFileReader для итерации или получения фрагментов с помощью get_chunk().

chunksize : int, optional

Возвращает объект TextFileReader для итерации. См. документацию по инструментам ввода-вывода для получения дополнительной информации о iterator и chunksize.

compression : {‘infer’, ‘gzip’, ‘bz2’, ‘zip’, ‘xz’, None}, default ‘infer’

Для сжатия на лету данных на диске. Если ‘infer’ и filepath_or_buffer являются путями, то обнаруживает сжатие по следующим расширениям: ‘.gz’, ‘.bz2’, ‘.zip’ или ‘.xz’ (иначе сжатие не выполняется). Если используется ‘zip’, то ZIP-архив должен содержать только один файл данных для чтения. Установите значение None для отключения сжатия.

Введено в версии 0.18.1: поддержка сжатия ‘zip’ и ‘xz’.

thousands : str, optional

Разделитель тысяч.

decimal : str, default ‘.’

Символ, распознаваемый как десятичная точка (например, используйте ‘,’ для европейских данных).

lineterminator : str (length 1), optional

Символ для разделения файла на строки. Действителен только для парсера C.

quotechar : str (length 1), optional

Символ, используемый для обозначения начала и конца цитируемого элемента. Цитируемые элементы могут включать разделитель, и он будет игнорироваться.

quoting : int or csv.QUOTE_* instance, default 0

Управление цитированием полей по csv.QUOTE_* константам. Используйте одно из значений QUOTE_MINIMAL (0), QUOTE_ALL (1), QUOTE_NONNUMERIC (2) или QUOTE_NONE (3).

doublequote : bool, default True

Когда quotechar задан, а quoting не QUOTE_NONE, указывает, следует ли интерпретировать два последовательных символа quotechar ВНУТРИ поля как один quotechar элемент.

escapechar : str (length 1), optional

Односимвольная строка, используемая для экранирования других символов.

comment : str, optional

Указывает, что остаток строки не должен быть проанализирован. Если он встречается в начале строки, строка будет полностью проигнорирована. Этот параметр должен быть одиночным символом. Как и пустые строки (пока skip_blank_lines=True), полностью прокомментированные строки игнорируются параметром header, но не skiprows. Например, если comment='#', парсинг #empty\na,b,c\n1,2,3 с header=0 приведет к тому, что ‘a,b,c’ будет обработано как заголовок.

encoding : str, optional

Кодировка UTF, используемая для чтения/записи (например, ‘utf-8’). Список стандартных кодировок Python.

dialect : str or csv.Dialect, optional

Если задан, этот параметр переопределит значения (по умолчанию или нет) для следующих параметров: delimiter, doublequote, escapechar, skipinitialspace, quotechar, и quoting. Если необходимо переопределить значения, будет выведено предупреждение ParserWarning. Дополнительные сведения см. в документации по csv.Dialect.

error_bad_lines : bool, default True

Строки с чрезмерным количеством полей (например, строка csv с чрезмерным количеством запятых) по умолчанию вызывают исключение, и DataFrame не возвращается. Если False, эти «плохие строки» будут исключены из возвращаемого DataFrame.

warn_bad_lines : bool, default True

Если error_bad_lines = False, а warn_bad_lines = True, для каждой «плохой строки» будет выведено предупреждение.

delim_whitespace : bool, default False

Указывает, будут ли пробелы (например, ' ' или '    ') использоваться в качестве sep. Эквивалентно установке sep='\s+'. Если этот параметр установлен в True, для параметра delimiter ничего не должно передаваться.

Введено в версии 0.18.1: поддержка парсера Python.

low_memory : bool, default True

Внутренняя обработка файла частями, что приводит к меньшему использованию памяти при парсинге, но, возможно, к смешанному определению типов. Чтобы гарантировать отсутствие смешанных типов, установите False или укажите тип с параметром dtype. Обратите внимание, что весь файл считывается в единый DataFrame, независимо от этого. Используйте параметр chunksize или iterator для возврата данных частями. (Действительно только для парсера C).

memory_map : bool, default False

Если для filepath_or_buffer предоставлен путь к файлу, сопоставьте объект файла непосредственно с памятью и получите доступ к данным непосредственно из нее. Использование этого параметра может повысить производительность, так как больше нет накладных расходов на ввод-вывод.

float_precision : str, optional

Указывает, какой конвертер C-движка следует использовать для значений с плавающей точкой. Варианты: None для обычного конвертера, high для конвертера высокой точности и round_trip для конвертера обратного преобразования.

Возвращает:
DataFrame или TextParser

Файл с разделителями запятыми (csv) возвращается как двумерная структура данных с метками осей.

См. также

to_csv
Запись DataFrame в файл с разделителями запятыми (csv).
read_csv
Чтение файла с разделителями запятыми (csv) в DataFrame.
read_fwf
Чтение таблицы фиксированной ширины в DataFrame.

Примеры

>>> pd.read_csv('data.csv')  # doctest: +SKIP

© 2008–2012, AQR Capital Management, LLC, Lambda Foundry, Inc. and PyData Development Team
Licensed under the 3-clause BSD License.
https://pandas.pydata.org/pandas-docs/version/0.25.0/reference/api/pandas.read_csv.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API