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, squeeze=None, prefix=_NoDefault.no_default, 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='.', lineterminator=None, quotechar='"', quoting=0, doublequote=True, escapechar=None, comment=None, encoding=None, encoding_errors='strict', dialect=None, error_bad_lines=None, warn_bad_lines=None, on_bad_lines=None, delim_whitespace=False, low_memory=True, memory_map=False, float_precision=None, storage_options=None)[source]
-
Чтение общего текстового файла с разделителями в DataFrame.
Также поддерживает необязательное итеративное чтение или чтение файла по частям.
Дополнительную информацию можно найти в онлайн-документации по Инструментам ввода-вывода.
- Параметры
-
- filepath_or_buffer:str, path object или file-like object
-
Любой допустимый путь в виде строки приемлем. Строка может быть URL. Допустимые схемы URL включают http, ftp, s3, gs и file. Для URL-адресов файлов ожидается хост. Локальный файл может быть: file://localhost/path/to/table.csv.
Если вы хотите передать объект пути, pandas принимает любой
os.PathLike.Под файловым объектом мы понимаем объекты с методом
read(), таким как дескриптор файла (например, с помощью встроенной функцииopenилиStringIO. - sep:str, по умолчанию ‘\t’ (табуляция)
-
Разделитель для использования. Если sep равен None, движок C не может автоматически определить разделитель, но движок Pythonского разбора может, что означает, что последний будет использоваться и автоматически определять разделитель с помощью встроенного инструмента анализа Python,
csv.Sniffer. Кроме того, разделители длиной более 1 символа и отличающиеся от'\s+'будут интерпретироваться как регулярные выражения и также будут принудительно использовать движок Pythonского разбора. Обратите внимание, что разделители, основанные на регулярных выражениях, могут игнорировать данные в кавычках. Пример регулярного выражения:'\r\t'. - delimiter:str, по умолчанию None
-
Псевдоним для sep.
- header:int, список int, None, по умолчанию ‘infer’
-
Номер(ы) строки(ок) для использования в качестве имен столбцов и начала данных. По умолчанию поведение заключается в выводе имен столбцов: если имена не переданы, поведение идентично
header=0и имена столбцов выводятся из первой строки файла, если имена столбцов переданы явно, то поведение идентичноheader=None. Явно укажитеheader=0, чтобы иметь возможность заменить существующие имена. Заголовок может быть списком целых чисел, которые указывают местоположения строк для многоуровневого индекса по столбцам, например [0,1,3]. Промежуточные строки, которые не указаны, будут пропущены (например, 2 в этом примере пропущена). Обратите внимание, что этот параметр игнорирует прокомментированные строки и пустые строки, еслиskip_blank_lines=True, поэтомуheader=0обозначает первую строку данных, а не первую строку файла. - names:array-like, необязательно
-
Список имен столбцов для использования. Если файл содержит строку заголовка, то вы должны явно указать
header=0для переопределения имен столбцов. Дубликаты в этом списке запрещены. - index_col:int, str, последовательность int / str или False, необязательно, по умолчанию None
-
Столбец(ы) для использования в качестве меток строк
DataFrame, заданный либо именем строки, либо индексом столбца. Если задана последовательность int / str, используется MultiIndex.Примечание:
index_col=Falseможет быть использован для принудительного отказа от использования первого столбца в качестве индекса, например, при наличии поврежденного файла с разделителями в конце каждой строки. - usecols:list-like или callable, необязательно
-
Возвращает подмножество столбцов. Если list-like, все элементы должны быть либо позиционными (т. е. целочисленными индексами в столбцах документа), либо строками, соответствующими именам столбцов, предоставленными пользователем в names или выведенными из строки(ок) заголовка документа. Если
namesуказаны, строки(ок) заголовка документа не учитываются. Например, допустимым list-like параметром 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']порядка.Если callable, функция callable будет вычисляться по отношению к именам столбцов, возвращая имена, где функция callable принимает значение True. Примером допустимого аргумента callable будет
lambda x: x.upper() in ['AAA', 'BBB', 'DDD']. Использование этого параметра приводит к значительно более быстрому времени разбора и меньшему использованию памяти. - squeeze:bool, по умолчанию False
-
Если проанализированные данные содержат только один столбец, возвращается Series.
Устарело начиная с версии 1.4.0: Добавьте
.squeeze("columns")к вызовуread_tableдля сжатия данных. - prefix:str, необязательно
-
Префикс, который нужно добавить к номерам столбцов, когда нет заголовка, например, ‘X’ для X0, X1, …
Устарело начиная с версии 1.4.0: Используйте list comprehension для столбцов DataFrame после вызова
read_csv. - mangle_dupe_cols:bool, по умолчанию True
-
Дублирующие столбцы будут заданы как ‘X’, ‘X.1’, …’X.N’, а не ‘X’…’X’. Передача False приведет к перезаписи данных при наличии дублирующих имен в столбцах.
Устарело начиная с версии 1.5.0: Не реализовано, и вместо этого будет добавлен новый аргумент для указания шаблона имен дублирующих столбцов
- dtype:Имя типа или словарь столбец -> тип, необязательно
-
Тип данных для данных или столбцов. Например, {‘a’: np.float64, ‘b’: np.int32, ‘c’: ‘Int64’} Используйте str или object вместе с соответствующими настройками na_values, чтобы сохранить и не интерпретировать тип данных. Если указаны преобразующие функции, они будут применены ВМЕСТО преобразования типов данных.
Введено в версии 1.5.0: Добавлена поддержка defaultdict. Укажите defaultdict в качестве входных данных, где значение по умолчанию определяет тип данных столбцов, которые не перечислены явно.
- engine:{‘c’, ‘python’, ‘pyarrow’}, необязательно
-
Движок анализатора для использования. Движки C и pyarrow быстрее, в то время как движок python в настоящее время более полнофункционален. Многопоточность в настоящее время поддерживается только движком pyarrow.
Введено в версии 1.4.0: Движок “pyarrow” был добавлен как экспериментальный движок, и некоторые функции не поддерживаются или могут работать неправильно с этим движком.
- converters:словарь, необязательно
-
Словарь функций для преобразования значений в определенных столбцах. Ключи могут быть либо целыми числами, либо метками столбцов.
- true_values:список, необязательно
-
Значения, рассматриваемые как True.
- false_values:список, необязательно
-
Значения, рассматриваемые как False.
- skipinitialspace:bool, по умолчанию False
-
Пропустить пробелы после разделителя.
- skiprows:list-like, int или callable, необязательно
-
Номера строк для пропуска (с индексом 0) или количество строк для пропуска (int) в начале файла.
Если callable, функция callable будет вычисляться для индексов строк, возвращая True, если строка должна быть пропущена, и False в противном случае. Примером допустимого аргумента callable будет
lambda x: x in [0, 2]. - skipfooter:int, по умолчанию 0
-
Количество строк в конце файла для пропуска (не поддерживается с engine=’c’).
- nrows:int, необязательно
-
Количество строк файла для чтения. Полезно для чтения фрагментов больших файлов.
- na_values:скаляр, str, list-like или dict, необязательно
-
Дополнительные строки для распознавания как NA/NaN. Если передан словарь, то конкретные значения 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’, ‘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_filter=False может улучшить производительность чтения большого файла.
- verbose:bool, по умолчанию False
-
Указывать количество значений NA, помещенных в нечисловые столбцы.
- skip_blank_lines:bool, по умолчанию True
-
Если True, пропустить пустые строки, а не интерпретировать их как NaN.
- parse_dates:bool или список int или имен или список списков или словарь, по умолчанию 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:bool, default True
-
Если True, используется кэш уникальных преобразованных дат для применения преобразования даты и времени. Может значительно ускорить работу при парсинге дублирующихся строк дат, особенно с часовыми поясами.
Добавлен в версии 0.25.0.
- iterator:bool, default False
-
Возвращает объект TextFileReader для итерации или извлечения фрагментов с
get_chunk().Изменено в версии 1.2:
TextFileReaderявляется менеджером контекста. - chunksize:int, optional
-
Возвращает объект TextFileReader для итерации. См. документацию по инструментам ввода-вывода для получения дополнительной информации о
iteratorиchunksize.Изменено в версии 1.2:
TextFileReaderявляется менеджером контекста. - 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','tar'} и другие пары ключ-значение передаются вzipfile.ZipFile,gzip.GzipFile,bz2.BZ2File,zstandard.ZstdDecompressorилиtarfile.TarFile, соответственно. Например, следующее может быть передано для распаковки Zstandard с использованием пользовательского словаря сжатия:compression={'method': 'zstd', 'dict_data': my_compression_dict}.Добавлен в версии 1.5.0: Добавлена поддержка файлов .tar.
Изменено в версии 1.4.0: Поддержка Zstandard.
- 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.
Изменено в версии 1.2: Когда
encodingявляетсяNone,errors="replace"передаётся вopen(). В противном случаеerrors="strict"передаётся вopen(). Это поведение ранее применялось только кengine="python".Изменено в версии 1.3.0:
encoding_errors— новый аргумент.encodingбольше не влияет на обработку ошибок кодирования. - encoding_errors:str, optional, default “strict”
-
Как обрабатываются ошибки кодирования. Список возможных значений.
Добавлен в версии 1.3.0.
- dialect:str or csv.Dialect, optional
-
Если указан, этот параметр переопределит значения (по умолчанию или нет) для следующих параметров: delimiter, doublequote, escapechar, skipinitialspace, quotechar и quoting. Если требуется переопределить значения, будет выведено предупреждение ParserWarning. Для получения дополнительной информации см. документацию csv.Dialect.
- error_bad_lines:bool, optional, default None
-
Строки с слишком большим количеством полей (например, строка csv со слишком большим количеством запятых) по умолчанию вызывают исключение, и DataFrame не возвращается. Если False, то эти «плохие строки» будут исключены из возвращаемого DataFrame.
Устаревшее начиная с версии 1.3.0: Вместо параметра
on_bad_linesследует использовать параметр для указания поведения при обнаружении плохой строки. - warn_bad_lines:bool, optional, default None
-
Если error_bad_lines равен False, а warn_bad_lines равен True, для каждой «плохой строки» будет выведено предупреждение.
Устаревшее начиная с версии 1.3.0: Вместо параметра
on_bad_linesследует использовать параметр для указания поведения при обнаружении плохой строки. - on_bad_lines:{‘error’, ‘warn’, ‘skip’} or callable, default ‘error’
-
Указывает, что делать при обнаружении плохой строки (строки с чрезмерным количеством полей). Допустимые значения:
‘error’, выдать исключение при обнаружении плохой строки.
‘warn’, вывести предупреждение при обнаружении плохой строки и пропустить эту строку.
‘skip’, пропустить плохие строки без вывода предупреждений или исключений при их обнаружении.
Добавлен в версии 1.3.0.
Добавлен в версии 1.4.0:
callable, функция с сигнатурой
(bad_line: list[str]) -> list[str] | None, которая обработает одну плохую строку.bad_line— список строк, разделённыхsep. Если функция возвращаетNone, плохая строка будет проигнорирована. Если функция возвращает новый список строк с большим количеством элементов, чем ожидалось, будет выведеноParserWarningпри удалении дополнительных элементов. Поддерживается только когдаengine="python"
- delim_whitespace:bool, default False
-
Указывает, будет ли пробел (например,
' 'или' ') использоваться в качестве разделителя. Эквивалентно установкеsep='\s+'. Если этот параметр установлен в True, то параметрdelimiterне должен передаваться. - 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’ для обычного преобразователя, ‘legacy’ для оригинального преобразователя pandas с меньшей точностью и ‘round_trip’ для преобразователя, обеспечивающего обратный ход.Изменено в версии 1.2.
- storage_options:dict, optional
-
Дополнительные параметры, имеющие смысл для конкретного подключения к хранилищу, например, хост, порт, имя пользователя, пароль и т. д. Для HTTP(S) URL ключи-значения передаются в
urllib.request.Requestв качестве параметров заголовка. Для других URL (например, начинающихся с “s3://” и “gcs://”) ключи-значения передаются вfsspec.open. Подробнее см.fsspecиurllib, а примеры параметров хранения см. здесь.Добавлена в версии 1.2.
-
- Возвращает
-
- DataFrame или TextParser
-
Файл с разделителями в виде запятых (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/1.5.0/reference/api/pandas.read_table.html