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-парсинга может, поэтому будет использован последний и автоматически определять разделитель по первой корректной строке файла с помощью встроенного инструмента анализа Pythoncsv.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указаны, для парсинга используются только указанные значенияNaNna_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