pandas.read_table#
-
pandas.read_table(filepath_or_buffer, *, sep=
, delimiter=None, header='infer', names= , 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= , skip_blank_lines=True, parse_dates=False, infer_datetime_format= , keep_date_col= , date_parser= , 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= , low_memory=True, memory_map=False, float_precision=None, storage_options=None, dtype_backend= )[источник]# Чтение файла с общими разделителями в DataFrame.
Также поддерживает опциональную итерацию или разбиение файла на фрагменты.
Дополнительную помощь можно найти в онлайн-документации для Инструменты ввода-вывода.
- Параметры:
- filepath_or_bufferstr, объект пути или файлоподобный объект
Любой допустимый строковый путь приемлем. Строка может быть URL. Допустимые схемы URL включают http, ftp, s3, gs и file. Для URL-адресов файлов ожидается хост. Локальный файл может быть: file://localhost/path/to/table.csv.
Если вы хотите передать объект пути, pandas принимает любой
os.PathLike.Под файлоподобным объектом мы подразумеваем объекты с
read()метод, такой как файловый дескриптор (например, через встроенныйopenфункция) илиStringIO.- sepstr, по умолчанию '\t' (табуляция)
Символ или регулярное выражение, рассматриваемое как разделитель. Если
sep=None, C движок не может автоматически определить разделитель, но Python парсер может, что означает использование последнего и автоматическое определение разделителя только из первой валидной строки файла с помощью встроенного инструмента Python sniffer,csv.Sniffer. Кроме того, разделители длиннее 1 символа и отличающиеся от'\s+'будут интерпретироваться как регулярные выражения и также будут принудительно использовать механизм парсинга Python. Обратите внимание, что разделители регулярных выражений склонны игнорировать данные в кавычках. Пример регулярного выражения:'\r\t'.- разделительstr, optional
Псевдоним для
sep.- headerint, Sequence of int, ‘infer’ или None, по умолчанию ‘infer’
Номер(а) строк, содержащих метки колонок и отмечающих начало данных (с нулевой индексацией). Поведение по умолчанию — определить имена колонок: если нет
namesпри передаче поведение идентичноheader=0и имена столбцов выводятся из первой строки файла, если имена столбцов переданы явно вnamesтогда поведение идентичноheader=None. Явно передатьheader=0чтобы иметь возможность заменять существующие имена. Заголовок может быть списком целых чисел, указывающих позиции строк дляMultiIndexна столбцах, например.[0, 1, 3]. Промежуточные строки, которые не указаны, будут пропущены (например, 2 в этом примере пропускается). Обратите внимание, что этот параметр игнорирует закомментированные строки и пустые строки, еслиskip_blank_lines=True, поэтомуheader=0обозначает первую строку данных, а не первую строку файла.- namesПоследовательность Hashable, опционально
Последовательность меток столбцов для применения. Если файл содержит строку заголовка, то следует явно передать
header=0для переопределения имён столбцов. Дубликаты в этом списке не допускаются.- index_colHashable, Sequence of Hashable или False, опционально
Столбец(цы) для использования в качестве метки(ок) строк, обозначаемые либо метками столбцов, либо индексами столбцов. Если задана последовательность меток или индексов,
MultiIndexбудет сформирован для меток строк.Примечание:
index_col=Falseможно использовать для принуждения pandas к не использовать первый столбец в качестве индекса, например, когда у вас есть некорректный файл с разделителями в конце каждой строки.- usecolsПоследовательность Hashable или Callable, опционально
Подмножество столбцов для выбора, обозначенное либо метками столбцов, либо индексами столбцов. Если списокоподобный, все элементы должны быть либо позиционными (т.е. целочисленными индексами в столбцах документа), либо строками, соответствующими именам столбцов, предоставленным либо пользователем в
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']. Использование этого параметра значительно ускоряет время разбора и снижает использование памяти.- dtypedtype или словарь {Hashabledtype}, опционально
Тип(ы) данных для применения ко всему набору данных или отдельным столбцам. Например,
{'a': np.float64, 'b': np.int32, 'c': 'Int64'}Используйтеstrилиobjectвместе с подходящимиna_valuesнастройки для сохранения и не интерпретацииdtype. Еслиconvertersуказаны, они будут применены ВМЕСТОdtypeпреобразование.Добавлено в версии 1.5.0: Поддержка
defaultdictбыл добавлен. Укажитеdefaultdictв качестве входных данных, где значение по умолчанию определяетdtypeстолбцов, которые не указаны явно.- движок{'c', 'python', 'pyarrow'}, опционально
Движок парсера для использования. Движки C и pyarrow быстрее, в то время как движок python в настоящее время более полнофункционален. Многопоточность в настоящее время поддерживается только движком pyarrow.
Добавлено в версии 1.4.0: Движок 'pyarrow' был добавлен как экспериментальный движок, и некоторые функции не поддерживаются или могут работать некорректно с этим движком.
- конвертерысловарь {HashableCallable}, optional
Функции для преобразования значений в указанных столбцах. Ключами могут быть либо метки столбцов, либо индексы столбцов.
- true_valuesсписок, необязательный
Значения, которые следует считать как
Trueв дополнение к вариантам 'True' без учёта регистра.- false_valuesсписок, необязательный
Значения, которые следует считать как
Falseв дополнение к вариантам без учёта регистра 'False'.- skipinitialspacebool, по умолчанию False
Пропускать пробелы после разделителя.
- skiprowsint, список int или Callable, необязательно
Номера строк для пропуска (0-индексированные) или количество строк для пропуска (
int) в начале файла.Если передана функция, она будет выполнена для индексов строк, возвращая
Trueесли строку следует пропустить иFalseв противном случае. Примером допустимого вызываемого аргумента может бытьlambda x: x in [0, 2].- skipfooterint, по умолчанию 0
Количество строк в конце файла для пропуска (Не поддерживается с
engine='c').- nrowsint, необязательный
Количество строк файла для чтения. Полезно для чтения частей больших файлов.
- na_valuesHashable, Iterable of Hashable или dict of {HashableIterable}, необязательный
Дополнительные строки для распознавания как
NA/NaN. Еслиdictпередается, специфичный для каждого столбцаNAзначения. По умолчанию следующие значения интерпретируются какNaN: " "- keep_default_nabool, по умолчанию 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_filterbool, по умолчанию True
Обнаружение маркеров пропущенных значений (пустые строки и значение
na_values). В данных без каких-либоNAзначения, передачаna_filter=Falseможет улучшить производительность чтения большого файла.- verbosebool, по умолчанию False
Указывает количество
NAзначения, помещенные в нечисловые столбцы.Устарело с версии 2.2.0.
- skip_blank_linesbool, по умолчанию True
Если
True, пропускать пустые строки вместо интерпретации какNaNзначения.- parse_datesbool, список Hashable, список списков или dict из {Hashablelist}, по умолчанию False
Поведение следующее:
bool. ЕслиTrue-> попробовать разобрать индекс. Примечание: Автоматически устанавливается вTrueifdate_formatилиdate_parserаргументы были переданы.listofintили имена. Например, если[1, 2, 3]-> попробуйте разобрать столбцы 1, 2, 3 как отдельные столбцы дат.listoflist. Например. Если[[1, 3]]-> объединить столбцы 1 и 3 и обработать как один столбец даты. Значения объединяются с пробелом перед обработкой.dict, например,{'foo' : [1, 3]}-> разобрать столбцы 1, 3 как дату и назвать результат 'foo'. Значения объединяются с пробелом перед разбором.
Если столбец или индекс не могут быть представлены как массив
datetime, скажем, из-за неразбираемого значения или смеси часовых поясов, столбец или индекс будет возвращён неизменённым какobjectтип данных. Для нестандартныхdatetimeпарсинг, используйтеto_datetime()послеread_csv().Примечание: Существует быстрый путь для дат в формате iso8601.
- infer_datetime_formatbool, по умолчанию False
Если
Trueиparse_datesвключено, pandas попытается определить форматdatetimeстроки в столбцах, и если это можно вывести, переключиться на более быстрый метод их разбора. В некоторых случаях это может увеличить скорость разбора в 5-10 раз.Устарело с версии 2.0.0: Строгая версия этого аргумента теперь используется по умолчанию, передача его не имеет эффекта.
- keep_date_colbool, по умолчанию False
Если
Trueиparse_datesуказывает на объединение нескольких столбцов с сохранением исходных столбцов.- date_parserCallable, опционально
Функция для преобразования последовательности строковых столбцов в массив
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_formatstr или dict столбца -> формат, опционально
Формат для использования при разборе дат в сочетании с
parse_dates. Формат strftime для разбора времени, например,"%d/%m/%Y". См. документация strftime для получения дополнительной информации о вариантах, хотя обратите внимание, что"%f"будет парсить вплоть до наносекунд. Вы также можете передать:- “ISO8601”, для разбора любого ISO8601
строковое представление времени (не обязательно в точно таком же формате);
- “mixed”, чтобы определить формат для каждого элемента отдельно. Это рискованно,
и, вероятно, следует использовать это вместе с dayfirst.
Добавлено в версии 2.0.0.
- dayfirstbool, по умолчанию False
Даты в формате ДД/ММ, международный и европейский формат.
- cache_datesbool, по умолчанию True
Если
True, используйте кэш уникальных, преобразованных дат для примененияdatetimeпреобразование. Может значительно ускорить парсинг повторяющихся строк дат, особенно с часовыми поясами.- итераторbool, по умолчанию False
Возвращает
TextFileReaderобъект для итерации или получения блоков сget_chunk().- chunksizeint, необязательный
Количество строк для чтения из файла за один чанк. Передача значения приведёт к тому, что функция вернёт
TextFileReaderобъект для итерации. См. Документация по инструментам ввода-вывода для получения дополнительной информации оiteratorиchunksize.- compressionстрока или словарь, по умолчанию ‘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.
- тысячиstr (длина 1), опционально
Символ, используемый в качестве разделителя тысяч в числовых значениях.
- десятичныйstr (длина 1), по умолчанию ‘.’
Символ, распознаваемый как десятичная точка (например, используйте ',' для европейских данных).
- lineterminatorstr (длина 1), опционально
Символ, используемый для обозначения разрыва строки. Действителен только с парсером C.
- quotecharstr (длина 1), опционально
Символ, используемый для обозначения начала и конца цитируемого элемента. Цитируемые элементы могут включать
delimiterи оно будет проигнорировано.- quoting{0 или csv.QUOTE_MINIMAL, 1 или csv.QUOTE_ALL, 2 или csv.QUOTE_NONNUMERIC, 3 или csv.QUOTE_NONE}, по умолчанию csv.QUOTE_MINIMAL
Управление поведением кавычек для поля на
csv.QUOTE_*константы. По умолчаниюcsv.QUOTE_MINIMAL(т.е., 0), что подразумевает, что только поля, содержащие специальные символы, заключаются в кавычки (например, символы, определенные вquotechar,delimiter, илиlineterminator.- двойные кавычкиbool, по умолчанию True
Когда
quotecharуказан иquotingне являетсяQUOTE_NONE, указывает, интерпретировать ли два последовательныхquotecharэлементы ВНУТРИ поля как единыйquotecharэлемент.- escapecharstr (длина 1), опционально
Символ, используемый для экранирования других символов.
- комментарийstr (длина 1), опционально
Символ, указывающий, что остаток строки не должен быть обработан. Если найден в начале строки, строка будет полностью проигнорирована. Этот параметр должен быть одним символом. Как и пустые строки (пока
skip_blank_lines=True), полностью закомментированные строки игнорируются параметромheaderно неskiprows. Например, еслиcomment='#', парсинг#empty\na,b,c\n1,2,3сheader=0приведёт к'a,b,c'обрабатывается как заголовок.- кодировкаstr, опционально, по умолчанию 'utf-8'
Кодировка для использования UTF при чтении/записи (например,
'utf-8'). Список стандартных кодировок Python .- encoding_errorsstr, необязательный, по умолчанию 'strict'
Как обрабатываются ошибки кодировки. Список возможных значений .
Добавлено в версии 1.3.0.
- диалектstr или csv.Dialect, опционально
Если предоставлен, этот параметр переопределит значения (по умолчанию или нет) для следующих параметров:
delimiter,doublequote,escapechar,skipinitialspace,quotechar, иquoting. Если необходимо переопределить значения,ParserWarningбудет выдано. См.csv.Dialectдокументация для получения дополнительных сведений.- on_bad_lines{‘error’, ‘warn’, ‘skip’} или Callable, по умолчанию ‘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:
Callable, функция с сигнатурой, как описано в документация pyarrow когда
engine='pyarrow'
- delim_whitespacebool, по умолчанию False
Определяет, учитывать ли пробелы (например,
' 'или'\t') будет использоваться какsepразделитель. Эквивалентно установкеsep='\s+'. Если эта опция установлена вTrue, ничего не должно передаваться дляdelimiterпараметр.Устарело с версии 2.2.0: Используйте
sep="\s+"вместо этого.- low_memorybool, по умолчанию True
Внутренняя обработка файла частями, что приводит к меньшему использованию памяти при парсинге, но возможно смешанное определение типов. Чтобы гарантировать отсутствие смешанных типов, установите
False, или укажите тип с помощьюdtypeпараметр. Обратите внимание, что весь файл читается в одинDataFrameв любом случае, используйтеchunksizeилиiteratorпараметр для возврата данных частями. (Действительно только с парсером C).- memory_mapbool, по умолчанию False
Если указан путь к файлу для
filepath_or_buffer, отобразить файловый объект непосредственно в память и получать доступ к данным напрямую оттуда. Использование этой опции может улучшить производительность, поскольку больше нет накладных расходов на ввод-вывод.- float_precision{‘high’, ‘legacy’, ‘round_trip’}, опционально
Указывает, какой конвертер должен использовать C-движок для значений с плавающей точкой. Доступные опции:
Noneили'high'для обычного преобразователя,'legacy'для оригинального конвертера pandas с более низкой точностью, и'round_trip'для конвертера кругового обхода.- storage_optionsdict, optional
Дополнительные параметры, которые имеют смысл для конкретного соединения с хранилищем, например, хост, порт, имя пользователя, пароль и т.д. Для HTTP(S) URL пары ключ-значение передаются в
urllib.request.Requestв качестве параметров заголовка. Для других URL-адресов (например, начинающихся с "s3://" и "gcs://") пары ключ-значение передаютсяfsspec.open. Пожалуйста, смотритеfsspecиurllibдля получения дополнительной информации, а для дополнительных примеров по опциям хранения см. здесь.- dtype_backend{'numpy_nullable', 'pyarrow'}, по умолчанию 'numpy_nullable'
Тип данных бэкенда, примененный к результирующему
DataFrame(все еще экспериментальная). Поведение следующее:"numpy_nullable": возвращает поддерживаемый нуллифицируемым типом данныхDataFrame(по умолчанию)."pyarrow": возвращает nullable на основе pyarrowArrowDtypeDataFrame.
Добавлено в версии 2.0.
- Возвращает:
- DataFrame или TextFileReader
Файл значений, разделенных запятыми (csv), возвращается как двумерная структура данных с помеченными осями.
Смотрите также
DataFrame.to_csvЗапись DataFrame в файл значений, разделенных запятыми (csv).
read_csvЧтение файла значений, разделенных запятыми (csv), в DataFrame.
read_fwfПрочитать таблицу строк фиксированной ширины в DataFrame.
Примеры
>>> pd.read_table('data.csv')