pandas.read_fwf
-
pandas.read_fwf(filepath_or_buffer, colspecs='infer', widths=None, **kwds)[source] -
Чтение таблицы с фиксированной шириной в DataFrame
Также поддерживает необязательное итеративное чтение или разделение файла на части.
Дополнительную помощь можно найти в документации по инструментам ввода/вывода.
Параметры: -
filepath_or_buffer : str, pathlib.Path, py._path.local.LocalPath or any \
объект с методом read() (например, дескриптор файла или StringIO)
Строка может быть URL. Допустимые схемы URL включают http, ftp, s3 и file. Для URL файлов ожидается хост. Например, локальный файл может быть file://localhost/path/to/table.csv
colspecs : список пар (int, int) или ‘infer’. необязательно
Список пар (кортежей), задающих границы полей с фиксированной шириной каждой строки как полуоткрытые интервалы (т.е. [от, до[). Строковое значение ‘infer’ можно использовать для указания парсеру попытаться определить спецификации столбцов из первых 100 строк данных, которые не пропускаются с помощью skiprows (по умолчанию=’infer’).
widths : список целых чисел. необязательно
Список ширин полей, которые могут быть использованы вместо ‘colspecs’, если интервалы являются непрерывными.
delimiter : str, по умолчанию
' ' + ' 'Символы, которые следует рассматривать как символы-заполнители в файле с фиксированной шириной. Могут использоваться для указания символа-заполнителя полей, если это не пробелы (например, ‘~’).
delim_whitespace : boolean, по умолчанию False
Указывает, будут ли пробелы (например,
' 'или'\t') использоваться в качестве разделителя. Эквивалентно установлениюsep='\s+'. Если этот параметр установлен в True, параметрdelimiterне должен передаваться.Введено в версии 0.18.1: поддержка Python-парсера.
header : целое число или список целых чисел, по умолчанию ‘infer’
Номер(а) строки(ок) для использования в качестве названий столбцов и начала данных. По умолчанию происходит определение названий столбцов: если имена не переданы, поведение идентично
header=0, а имена столбцов определяются из первой строки файла; если имена столбцов переданы явно, поведение идентичноheader=None. Явно передайтеheader=0для возможности замены существующих имен. Header может быть списком целых чисел, которые указывают расположение строк для многоуровневого индекса по столбцам, например [0,1,3]. Промежуточные строки, которые не указаны, будут пропущены (например, 2 в этом примере пропускается). Обратите внимание, что этот параметр игнорирует прокомментированные строки и пустые строки, еслиskip_blank_lines=True, поэтому header=0 обозначает первую строку данных, а не первую строку файла.names : массив-подобный объект, по умолчанию None
Список имён столбцов для использования. Если файл не содержит строки заголовка, необходимо явно передать header=None. Дубликаты в этом списке приведут к
UserWarning.index_col : целое число или последовательность или False, по умолчанию None
Столбец для использования в качестве меток строк DataFrame. Если передана последовательность, используется многоуровневый индекс. Если у вас есть повреждённый файл с разделителями в конце каждой строки, вы можете рассмотреть возможность index_col=False для принудительного отказа pandas от использования первого столбца в качестве индекса (имен строк)
usecols : список или вызываемый объект, по умолчанию None
Возвращает подмножество столбцов. Если список-подобный объект, все элементы должны быть либо позиционными (т.е. целочисленными индексами столбцов документа), либо строками, соответствующими именам столбцов, предоставленными пользователем в
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']. Использование этого параметра приводит к значительно более быстрому времени парсинга и меньшему потреблению памяти.squeeze : boolean, по умолчанию False
Если проанализированные данные содержат только один столбец, возвращается Series
prefix : строка, по умолчанию None
Префикс, добавляемый к номерам столбцов при отсутствии заголовка, например, ‘X’ для X0, X1, …
mangle_dupe_cols : boolean, по умолчанию True
Дублирующие столбцы будут указаны как ‘X’, ‘X.1’, …’X.N’, а не ‘X’…’X’. Передача False приведет к перезаписи данных, если в столбцах есть дублирующие имена.
dtype : Имя типа или словарь столбец -> тип, по умолчанию None
Тип данных для данных или столбцов. Например, {‘a’: np.float64, ‘b’: np.int32} Используйте
strилиobjectвместе с подходящимиna_valuesнастройками для сохранения и не интерпретации типа данных. Если указаны преобразователи, они будут применяться ВМЕСТО преобразования типа данных.converters : словарь, по умолчанию None
Словарь функций для преобразования значений в определенных столбцах. Ключи могут быть целыми числами или метками столбцов
true_values : список, по умолчанию None
Значения, которые следует рассматривать как True
false_values : список, по умолчанию None
Значения, которые следует рассматривать как False
skipinitialspace : boolean, по умолчанию False
Пропускать пробелы после разделителя.
skiprows : список или целое число или вызываемый объект, по умолчанию None
Номера строк для пропуска (индексация с 0) или количество строк для пропуска (целое число) в начале файла.
Если вызываемый объект, вызываемая функция будет вычислена по индексам строк, возвращая True, если строка должна быть пропущена, и False в противном случае. Примером допустимого аргумента вызываемого объекта является
lambda x: x in [0, 2].skipfooter : целое число, по умолчанию 0
Количество строк в конце файла для пропуска (не поддерживается с engine=’c’)
nrows : целое число, по умолчанию None
Количество строк файла для чтения. Полезно для чтения фрагментов больших файлов
na_values : скаляр, строка, список-подобный объект или словарь, по умолчанию None
Дополнительные строки для распознавания как NA/NaN. Если передан словарь, то значения NA/NaN для каждого столбца. По умолчанию следующие значения интерпретируются как NaN: ‘’, ‘#N/A’, ‘#N/A N/A’, ‘#NA’, ‘-1.#IND’, ‘-1.#QNAN’, ‘-NaN’, ‘-nan’, ‘1.#IND’, ‘1.#QNAN’, ‘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 : boolean, по умолчанию True
Обнаруживать ли маркеры пропущенных значений (пустые строки и значения na_values). При данных без каких-либо NA, передача na_filter=False может улучшить производительность чтения большого файла
verbose : boolean, по умолчанию False
Указывать количество значений NA, помещенных в нечисловые столбцы
skip_blank_lines : boolean, по умолчанию True
Если True, пропускать пустые строки вместо интерпретации как значений NaN
parse_dates : boolean или список целых чисел или имён или список списков или словарь, по умолчанию False
- boolean. Если True -> попытаться разобрать индекс.
- список целых чисел или имён. Например, если [1, 2, 3] -> попытаться разобрать столбцы 1, 2, 3 каждый как отдельный столбец дат.
- список списков. Например, если [[1, 3]] -> объединить столбцы 1 и 3 и разобрать как один столбец дат.
- словарь, например {‘foo’ : [1, 3]} -> разобрать столбцы 1, 3 как даты и назвать результат ‘foo’
Если столбец или индекс содержит неразбираемую дату, весь столбец или индекс будут возвращены неизменёнными как тип данных object. Для нестандартного парсинга дат используйте
pd.to_datetimeпослеpd.read_csvПримечание: Существует быстрый путь для дат в формате iso8601.
infer_datetime_format : boolean, по умолчанию False
Если True и
parse_datesвключён, pandas попытается определить формат строк дат в столбцах и, если это возможно, переключиться на более быстрый метод их разбора. В некоторых случаях это может увеличить скорость разбора на 5-10 раз.keep_date_col : boolean, по умолчанию False
Если True и
parse_datesуказывает на объединение нескольких столбцов, сохранить исходные столбцы.date_parser : функция, по умолчанию None
Функция для преобразования последовательности столбцов строк в массив экземпляров дат. По умолчанию используется
dateutil.parser.parserдля выполнения преобразования. Pandas попытается вызватьdate_parserтремя различными способами, переходя к следующему, если произойдёт исключение: 1) Передать один или несколько массивов (как определеноparse_dates) в качестве аргументов; 2) склеить (по строкам) строковые значения из столбцов, определённыхparse_dates, в один массив и передать его; и 3) вызватьdate_parserодин раз для каждой строки, используя одну или несколько строк (соответствующие столбцам, определённымparse_dates) в качестве аргументов.dayfirst : boolean, по умолчанию False
Даты формата ДД/ММ, международный и европейский формат
iterator : boolean, по умолчанию False
Возвращает объект TextFileReader для итерации или получения кусков с
get_chunk().chunksize : целое число, по умолчанию None
Возвращает объект TextFileReader для итерации. См. документацию по инструментам ввода-вывода для получения более подробной информации о
iteratorиchunksize.compression : {‘infer’, ‘gzip’, ‘bz2’, ‘zip’, ‘xz’, None}, по умолчанию ‘infer’
Для динамического сжатия данных на диске. Если ‘infer’ и
filepath_or_bufferявляется путём, определить сжатие по следующим расширениям: ‘.gz’, ‘.bz2’, ‘.zip’ или ‘.xz’ (в противном случае сжатие не используется). При использовании ‘zip’, ZIP-архив должен содержать только один файл данных для чтения. Установить в None для отсутствия сжатия.Введено в версии 0.18.1: поддержка сжатия ‘zip’ и ‘xz’.
thousands : строка, по умолчанию None
Разделитель разрядов тысяч
decimal : строка, по умолчанию ‘.’
Символ для распознавания десятичной точки (например, используйте ‘,’ для европейских данных).
float_precision : строка, по умолчанию None
-
Указывает, какой конвертер должен использовать движок C для значений с плавающей точкой. Доступные варианты:
Noneдля обычного конвертера,highдля конвертера высокой точности иround_tripдля конвертера обратного преобразования.lineterminator : str (длина 1), по умолчанию None
Символ для разделения файла на строки. Действителен только с C-парсером.
quotechar : str (длина 1), необязательно
Символ, используемый для обозначения начала и конца цитируемого элемента. Цитаты могут включать разделитель, и он будет пропущен.
quoting : int или экземпляр csv.QUOTE_*, по умолчанию 0
Управление поведением цитирования полей в соответствии с
csv.QUOTE_*константами. Используйте один из QUOTE_MINIMAL (0), QUOTE_ALL (1), QUOTE_NONNUMERIC (2) или QUOTE_NONE (3).doublequote : boolean, по умолчанию
TrueКогда quotechar указан, а quoting не
QUOTE_NONE, указывает, интерпретировать ли два последовательных элемента quotechar ВНУТРИ поля как одинquotecharэлемент.escapechar : str (длина 1), по умолчанию None
Символьная строка длиной 1 для экранирования разделителя, когда quoting равен QUOTE_NONE.
comment : str, по умолчанию None
Указывает, что оставшаяся часть строки не должна анализироваться. Если он находится в начале строки, строка будет полностью пропущена. Этот параметр должен быть одиночным символом. Как и пустые строки (пока
skip_blank_lines=True), полностью комментированные строки игнорируются параметромheader, но неskiprows. Например, еслиcomment='#', парсинг#empty\na,b,c\n1,2,3сheader=0приведет к тому, что ‘a,b,c’ будет обработано как заголовок.encoding : str, по умолчанию None
Кодировка для использования с UTF при чтении/записи (например, ‘utf-8’). Список стандартных кодировок Python
dialect : str или экземпляр csv.Dialect, по умолчанию None
Если предоставлено, этот параметр переопределит значения (по умолчанию или нет) для следующих параметров:
delimiter,doublequote,escapechar,skipinitialspace,quotechar, иquoting. Если необходимо переопределить значения, будет выведено предупреждение ParserWarning. Для получения более подробной информации см. документацию csv.Dialect.tupleize_cols : boolean, по умолчанию False
Устарело начиная с версии 0.21.0: Этот аргумент будет удален и всегда будет преобразовывать в MultiIndex
Оставить список кортежей в столбцах как есть (по умолчанию — преобразовать в MultiIndex по столбцам)
error_bad_lines : boolean, по умолчанию True
Строки с слишком большим количеством полей (например, строка csv с слишком большим количеством запятых) по умолчанию вызовут исключение, и DataFrame не будет возвращен. Если False, эти «плохие строки» будут удалены из возвращаемого DataFrame.
warn_bad_lines : boolean, по умолчанию True
Если error_bad_lines False, а warn_bad_lines True, для каждой «плохой строки» будет выведено предупреждение.
low_memory : boolean, по умолчанию True
Внутренне обрабатывает файл частями, что приводит к меньшему использованию памяти во время парсинга, но, возможно, к смешанному выводу типа. Для того чтобы избежать смешанных типов, либо установите False, либо укажите тип с параметром
dtype. Обратите внимание, что весь файл все равно считывается в один DataFrame; используйте параметрchunksizeилиiterator, чтобы вернуть данные частями. (Действительно только с C-парсером)memory_map : boolean, по умолчанию False
Если для
filepath_or_bufferуказан путь к файлу, отображает объект файла непосредственно в памяти и получает доступ к данным непосредственно из него. Использование этого параметра может повысить производительность, поскольку больше нет накладных расходов на ввод-вывод.Возвращает: -
result : DataFrame or TextParser
-
© 2008–2012, 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/0.23.4/generated/pandas.read_fwf.html