pandas.read_table
- pandas.read_table(filepath_or_buffer, *, sep=<no_default>, delimiter=None, header='infer', names=<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=<no_default>, skip_blank_lines=True, parse_dates=False, infer_datetime_format=<no_default>, keep_date_col=<no_default>, date_parser=<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=<no_default>, low_memory=True, memory_map=False, float_precision=None, storage_options=None, dtype_backend=<no_default>)[исходный код]
-
Считывает файл с разделителями общего формата в DataFrame.
Также поддерживается итерация по файлу и его разбиение на фрагменты.
Дополнительную справочную информацию можно найти в онлайн-документации по инструментам ввода-вывода.
- Параметры:
-
- filepath_or_buffer:str, path object or file-like object
-
Допускается любая допустимая строка, содержащая путь. Строка может быть URL-адресом. Допустимые схемы URL включают http, ftp, s3, gs и file. Для URL-адресов file требуется указать хост. Локальный файл может иметь следующий адрес: file://localhost/path/to/table.csv.
Если вы хотите передать объект пути, pandas принимает любой
os.PathLike.Под объектом, подобным файлу, подразумеваются объекты с методом
read(), например файловый дескриптор (например, полученный с помощью встроенной функцииopen) илиStringIO. - sep:str, default ‘\t’ (tab-stop)
-
Символ или регулярное выражение, используемые в качестве разделителя. Если
sep=None, движок C не может автоматически определить разделитель, но это может сделать движок разбора Python; поэтому будет использоваться последний, и разделитель будет автоматически определен только по первой допустимой строке файла с помощью встроенного инструмента Python для определения формата,csv.Sniffer. Кроме того, разделители длиной более 1 символа и отличные от'\s+'будут интерпретироваться как регулярные выражения, что также приведет к использованию движка разбора Python. Обратите внимание, что регулярные выражения для разделителей могут не учитывать данные в кавычках. Пример регулярного выражения:'\r\t'. - delimiter:str, optional
-
Псевдоним для
sep. - header:int, Sequence of int, ‘infer’ or None, default ‘infer’
-
Номер строки или номера строк, содержащих метки столбцов и указывающих начало данных (нумерация начинается с нуля). По умолчанию имена столбцов определяются автоматически: если
namesне переданы, поведение совпадает сheader=0, а имена столбцов определяются по первой строке файла; если имена столбцов явно переданы вnames, поведение совпадает сheader=None. Явно передайтеheader=0, чтобы заменить существующие имена. В качестве заголовка можно указать список целых чисел, задающих расположение строк дляMultiIndexстолбцов, например[0, 1, 3]. Промежуточные строки, не указанные в списке, будут пропущены (например, в этом примере пропускается строка 2). Обратите внимание, что этот параметр игнорирует строки комментариев и пустые строки, если заданоskip_blank_lines=True, поэтомуheader=0обозначает первую строку данных, а не первую строку файла. - names:Sequence of Hashable, optional
-
Последовательность меток столбцов. Если файл содержит строку заголовка, явно передайте
header=0, чтобы переопределить имена столбцов. Дубликаты в этом списке не допускаются. - index_col:Hashable, Sequence of Hashable or False, optional
-
Столбец или столбцы, используемые в качестве меток строк; задаются метками столбцов или их индексами. Если передана последовательность меток или индексов, для меток строк будет создан
MultiIndex.Примечание:
index_col=Falseможно использовать, чтобы указать pandas не использовать первый столбец в качестве индекса, например если у вас неправильно сформированный файл с разделителями в конце каждой строки. - usecols:Sequence of Hashable or Callable, optional
-
Подмножество выбираемых столбцов, задаваемое метками столбцов или их индексами. Если передан объект, подобный списку, все его элементы должны быть либо позиционными (то есть целочисленными индексами столбцов документа), либо строками, соответствующими именам столбцов, заданным пользователем в
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:dtype or dict of {Hashable:dtype}, optional
-
Тип данных, применяемый ко всему набору данных или к отдельным столбцам. Например,
{'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’}, optional
-
Используемый движок разбора. Движки C и pyarrow работают быстрее, а движок python на данный момент поддерживает больше функций. Многопоточность в настоящее время поддерживается только движком pyarrow.
Добавлено в версии 1.4.0: Движок ‘pyarrow’ добавлен в качестве экспериментального; некоторые функции не поддерживаются или могут работать некорректно.
- converters:dict of {Hashable:Callable}, optional
-
Функции для преобразования значений в указанных столбцах. Ключами могут быть метки столбцов или их индексы.
- true_values:list, optional
-
Значения, которые следует считать
True, помимо вариантов ‘True’ без учета регистра. - false_values:list, optional
-
Значения, которые следует считать
False, помимо вариантов ‘False’ без учета регистра. - skipinitialspace:bool, default False
-
Пропускать пробелы после разделителя.
- skiprows:int, list of int or Callable, optional
-
Номера строк, которые следует пропустить (нумерация начинается с нуля), или количество строк, которое следует пропустить (
int) в начале файла.Если передана вызываемая функция, она будет применена к индексам строк и вернет
True, если строку следует пропустить, иFalseв противном случае. Пример допустимого аргумента-функции:lambda x: x in [0, 2]. - skipfooter:int, default 0
-
Количество строк в конце файла, которые следует пропустить (не поддерживается с
engine='c'). - nrows:int, optional
-
Количество строк файла для чтения. Удобно для чтения частей больших файлов.
- na_values:Hashable, Iterable of Hashable or dict of {Hashable:Iterable}, optional
-
Дополнительные строки, которые следует распознавать как
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, 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, при разборе используются только указанные значенияNaNna_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, добавленных в нечисловые столбцы.Устарело начиная с версии 2.2.0.
- skip_blank_lines:bool, default True
-
Если
True, пропускать пустые строки, а не интерпретировать их как значенияNaN. - parse_dates:bool, list of Hashable, list of lists or dict of {Hashable:list}, default 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().Примечание: для дат в формате ISO 8601 предусмотрен быстрый алгоритм.
- 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
-
Даты в формате DD/MM, международном и европейском формате.
- 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
-
Дополнительные параметры для конкретного подключения к хранилищу, например хост, порт, имя пользователя, пароль и т. д. Для URL-адресов HTTP(S) пары ключ-значение передаются в
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-типами на основе pyarrowArrowDtype.
Добавлено в версии 2.0.
- Возвращает:
-
- DataFrame or TextFileReader
-
Файл со значениями, разделенными запятыми (csv), возвращается в виде двумерной структуры данных с именованными осями.
См. также
DataFrame.to_csv-
Записывает DataFrame в файл со значениями, разделенными запятыми (csv).
read_csv-
Считывает файл со значениями, разделенными запятыми (csv), в DataFrame.
read_fwf-
Считывает таблицу с фиксированной шириной строк в DataFrame.
Примеры
>>> pd.read_table('data.csv')
© 2008–2011, AQR Capital Management, LLC, Lambda Foundry, Inc. and PyData Development Team
© 2011–2025, Open source contributors
Licensed under the 3-clause BSD License.
https://pandas.pydata.org/pandas-docs/version/2.3.0/reference/api/pandas.read_table.html