Spec-Zone.ru › pandas 2

pandas.read_table

pandas.read_table(filepath_or_buffer, *, sep=_NoDefault.no_default, delimiter=None, header='infer', names=_NoDefault.no_default, index_col=None, usecols=None, 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=_NoDefault.no_default, skip_blank_lines=True, parse_dates=False, infer_datetime_format=_NoDefault.no_default, keep_date_col=_NoDefault.no_default, date_parser=_NoDefault.no_default, date_format=None, dayfirst=False, cache_dates=True, iterator=False, chunksize=None, compression='infer', thousands=None, decimal='.', lineterminator=None, quotechar='"', quoting=0, doublequote=True, escapechar=None, comment=None, encoding=None, encoding_errors='strict', dialect=None, on_bad_lines='error', delim_whitespace=_NoDefault.no_default, low_memory=True, memory_map=False, float_precision=None, storage_options=None, dtype_backend=_NoDefault.no_default)[source]

Чтение общего файла с разделителями в DataFrame.

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

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

Параметры:
filepath_or_buffer:строка, объект пути или файл-подобный объект

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

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

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

sep:строка, по умолчанию ‘\t’ (табуляция)

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

delimiter:строка, необязательно

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

header:целое число, последовательность целых чисел, ‘infer’ или None, по умолчанию ‘infer’

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

names:Последовательность хешируемых объектов, необязательно

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

index_col:хешируемый объект, последовательность хешируемых объектов или False, необязательно

Столбец(ы) для использования в качестве меток строк, обозначенный либо именами столбцов, либо индексами столбцов. Если передана последовательность имён или индексов, MultiIndex будет сформирована для меток строк.

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

usecols:Последовательность хешируемых объектов или вызываемый объект, необязательно

Подмножество столбцов для выбора, обозначенное либо именами столбцов, либо индексами столбцов. Если это список, все элементы должны быть либо позиционными (т.е. целочисленными индексами столбцов документа), либо строками, соответствующими именам столбцов, предоставленными пользователем в names или определёнными из строки(строк) заголовка документа. Если 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']. Использование этого параметра приводит к значительно более быстрому времени парсинга и меньшему использованию памяти.

dtype:тип данных или словарь {хешируемый объект: тип данных}, необязательно

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

Добавлено в версии 1.5.0: Добавлена поддержка defaultdict. Укажите defaultdict в качестве входных данных, где по умолчанию определяется dtype столбцов, которые не указаны явно.

engine:{‘c’, ‘python’, ‘pyarrow’}, необязательно

Движок парсера для использования. Движки C и pyarrow быстрее, в то время как движок python в настоящее время более функционален. Многопоточность в настоящее время поддерживается только движком pyarrow.

Добавлено в версии 1.4.0: Движок ‘pyarrow’ был добавлен как экспериментальный движок, и некоторые функции не поддерживаются или могут не работать правильно с этим движком.

converters:словарь {хешируемый объект: вызываемый объект}, необязательно

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

true_values:список, необязательно

Значения, которые нужно рассматривать как True помимо вариантов 'True' без учёта регистра.

false_values:список, необязательно

Значения, которые нужно рассматривать как False помимо вариантов 'False' без учёта регистра.

skipinitialspace:bool, по умолчанию False

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

skiprows:целое число, список целых чисел или вызываемый объект, необязательно

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

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

skipfooter:целое число, по умолчанию 0

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

nrows:целое число, необязательно

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

na_values:хешируемый объект, итерируемый объект или словарь {хешируемый объект: итерируемый объект}, необязательно

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

keep_default_na:bool, по умолчанию 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, по умолчанию True

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

verbose:bool, по умолчанию False

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

Устарело начиная с версии 2.2.0.

skip_blank_lines:bool, по умолчанию True

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

parse_dates:bool, список хешируемых объектов, список списков или словарь {хешируемый объект: список}, по умолчанию False

Поведение следующее:

  • bool. Если True -> попробуйте разобрать индекс. Примечание: Автоматически устанавливается в True, если были переданы аргументы date_format или date_parser.

  • list столбцов int или имён. Например, если [1, 2, 3] -> попробуйте разобрать столбцы 1, 2, 3 каждый как отдельный столбец даты.

  • list столбцов list. Например, если [[1, 3]] -> объедините столбцы 1 и 3 и разоберите как один столбец даты. Значения объединяются пробелом перед разбором.

  • dict, например, {'foo' : [1, 3]} -> разобрать столбцы 1, 3 как дату и назвать результат ‘foo’. Значения объединяются пробелом перед разбором.

Если столбец или индекс не может быть представлен как массив datetime, скажем, из-за неразборчивого значения или смешения часовых поясов, столбец или индекс возвращается без изменений как тип данных object. Для нестандартного разбора datetime, используйте to_datetime() после read_csv().

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

infer_datetime_format:bool, default False

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

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

keep_date_col:bool, default False

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

date_parser:Callable, optional

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

Устарело начиная с версии 2.0.0: Используйте date_format вместо этого или считайте как object и затем применяйте to_datetime() по мере необходимости.

date_format:str or dict of column -> format, optional

Формат для разбора дат при совместном использовании с parse_dates. Формат strftime для разбора времени, например, "%d/%m/%Y". Обратитесь к документации strftime для получения дополнительной информации о вариантах, хотя обратите внимание, что "%f" будет разбор до наносекунд. Также можно передать:

  • “ISO8601”, для разбора любой ISO8601

    строки времени (не обязательно в том же формате);

  • “mixed”, для определения формата для каждого элемента индивидуально. Это рискованно,

    и вы, вероятно, должны использовать его вместе с dayfirst.

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

dayfirst:bool, default False

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

cache_dates:bool, default True

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

iterator:bool, default False

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

chunksize:int, optional

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

compression:str or dict, default ‘infer’

Для сжатия данных на диске на лету. Если ‘infer’ и ‘filepath_or_buffer’ — это путь, то распознать сжатие по следующим расширениям: ‘.gz’, ‘.bz2’, ‘.zip’, ‘.xz’, ‘.zst’, ‘.tar’, ‘.tar.gz’, ‘.tar.xz’ или ‘.tar.bz2’ (иначе без сжатия). При использовании ‘zip’ или ‘tar’, ZIP-файл должен содержать только один файл данных для чтения. Установите в None для отключения сжатия. Также может быть словарь с ключом 'method', установленным в одном из {'zip', 'gzip', 'bz2', 'zstd', 'xz', 'tar'} и другие пары ключ-значение передаются в zipfile.ZipFile, gzip.GzipFile, bz2.BZ2File, zstandard.ZstdDecompressor, lzma.LZMAFile или tarfile.TarFile, соответственно. В качестве примера можно передать следующее для сжатия Zstandard с использованием пользовательского словаря сжатия: compression={'method': 'zstd', 'dict_data': my_compression_dict}.

Добавлен в версии 1.5.0: Поддержка файлов .tar.

Изменено в версии 1.4.0: Поддержка Zstandard.

thousands:str (length 1), optional

Символ, выступающий в качестве разделителя тысяч в числовых значениях.

decimal:str (length 1), default ‘.’

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

lineterminator:str (length 1), optional

Символ, используемый для обозначения разрыва строки. Действительно только с парсером C.

quotechar:str (length 1), optional

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

quoting:{0 or csv.QUOTE_MINIMAL, 1 or csv.QUOTE_ALL, 2 or csv.QUOTE_NONNUMERIC, 3 or csv.QUOTE_NONE}, default csv.QUOTE_MINIMAL

Управление поведением цитирования полей по константам csv.QUOTE_* . Значение по умолчанию csv.QUOTE_MINIMAL (т. е. 0), что подразумевает, что цитируются только поля, содержащие специальные символы (например, символы, определённые в quotechar, delimiter, или lineterminator.

doublequote:bool, default True

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

escapechar:str (length 1), optional

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

comment:str (length 1), optional

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

encoding:str, optional, default ‘utf-8’

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

encoding_errors:str, optional, default ‘strict’

Как обрабатываются ошибки кодирования. Список возможных значений .

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

dialect:str or csv.Dialect, optional

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

on_bad_lines:{‘error’, ‘warn’, ‘skip’} or Callable, default ‘error’

Определяет, что делать при обнаружении плохой строки (строки с избыточным количеством полей). Допустимые значения:

  • 'error', выбросить исключение при обнаружении плохой строки.

  • 'warn', вывести предупреждение при обнаружении плохой строки и пропустить эту строку.

  • 'skip', пропустить плохие строки без вывода предупреждений или исключений.

Новое в версии 1.3.0.

Новое в версии 1.4.0:

  • Вызываемый объект, функция со сигнатурой (bad_line: list[str]) -> list[str] | None, которая обработает одну плохую строку. bad_line — список строк, разделенных sep. Если функция возвращает None, плохая строка будет проигнорирована. Если функция возвращает новый list строк с большим количеством элементов, чем ожидалось, будет выведено ParserWarning, при этом дополнительные элементы будут отброшены. Поддерживается только, когда engine='python'

Изменено в версии 2.2.0:

  • Вызываемый объект, функция со сигнатурой, как описано в документации pyarrow, когда engine='pyarrow'

delim_whitespace:bool, default False

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

Устарело начиная с версии 2.2.0: Используйте sep="\s+" вместо этого.

low_memory:bool, default True

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

memory_map:bool, default False

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

float_precision:{‘high’, ‘legacy’, ‘round_trip’}, optional

Определяет, какой конвертер должен использовать C движок для чисел с плавающей точкой. Доступные варианты: None или 'high' для обычного конвертера, 'legacy' для оригинального конвертера Pandas с меньшей точностью, и 'round_trip' для конвертера с обратным отображением.

storage_options:dict, optional

Дополнительные параметры, которые могут потребоваться для конкретного соединения с хранилищем, например, хост, порт, имя пользователя, пароль и т. д. Для HTTP(S) URL-адресов пары ключ-значение передаются в urllib.request.Request в качестве параметров заголовка. Для других URL-адресов (например, начинающихся с “s3://”, и “gcs://”) пары ключ-значение передаются в fsspec.open. Подробнее см. fsspec и urllib, а примеры параметров хранения см. здесь.

dtype_backend:{‘numpy_nullable’, ‘pyarrow’}, default ‘numpy_nullable’

Обработка типа данных, применяемая к результирующей DataFrame (еще экспериментальная). Поведение следующее:

  • "numpy_nullable": возвращает DataFrame с поддержкой nullable типов (по умолчанию).

  • "pyarrow": возвращает DataFrame с nullable типами, поддерживаемый pyarrow, ArrowDtype.

Новое в версии 2.0.

Returns:
DataFrame или TextFileReader

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

См. также

DataFrame.to_csv

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

read_csv

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

read_fwf

Чтение таблицы с фиксированной шириной строк в DataFrame.

Примеры

>>> pd.read_table('data.csv')  

© 2008–2022, 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/2.2.2/reference/api/pandas.read_table.html

Spec-Zone.ru

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