pandas.read_fwf

pandas.read_fwf(filepath_or_buffer, colspecs='infer', widths=None, **kwds)[source]

将固定宽度格式的行的表读入DataFrame

还支持可选地将文件迭代或分解成块。

有关其他帮助,请参见IO工具在线文档

参数:

filepath_or_buffer:str,pathlib.Path,py._path.local.LocalPath或任何具有read()方法的对象(如文件句柄或StringIO)

字符串可以是URL。有效的URL方案包括http,ftp,s3和file。对于文件URL,需要主机。例如,本地文件可以是file://localhost/path/to/table.csv

colspecs:对的列表(int,int)或“infer”。可选的

将每行的固定宽度字段的范围作为半开间隔(即,从[到]到[])的对(元组)的列表。字符串值“infer”可以用于指示解析器尝试从数据的前100行中检测列规范(default ='infer')。

width:ints列表。可选的

如果间隔是连续的,可以使用字段宽度的列表,而不是“colspecs”。

分隔符:str,默认None

sep的备用参数名称。

delim_whitespace:boolean,default False

指定是否空白(例如' '' ' )将用作sep。相当于设置sep='\s+'如果此选项设置为True,则不应为delimiter参数传入任何内容。

版本0.18.1中的新功能:支持Python解析器。

header:int或ints列表,默认'infer'

要用作列名称的行号,以及数据的开始。如果未传递names,默认行为就好像设置为0,否则None显式传递header=0,以便能够替换现有名称。头部可以是整数列表,其指定列上的多索引的行位置。 [0,1,3]。未指定的插入行将被跳过(例如,在此示例中跳过2)。请注意,如果skip_blank_lines=True,此参数将忽略已注释的行和空行,因此header = 0表示数据的第一行,而不是文件的第一行。

names:array-like,default无

要使用的列名称列表。如果文件不包含标题行,则应明确传递header = None。除非mangle_dupe_cols = True(这是默认值),否则不允许在此列表中重复。

index_col:int或序列或False,默认值无

用作DataFrame的行标签的列。如果给出序列,则使用MultiIndex。如果您在每行结尾处都有带分隔符的格式不正确的文件,则可以考虑使用index_col = False强制pandas _not_使用第一列作为索引(行名称)

usecols:array-like,default无

返回列的子集。此数组中的所有元素必须是位置(即,文档列中的整数索引)或对应于用户在名称中提供或从文档标题行推断的列名称的字符串。例如,有效的usecols参数将是[0,1,2]或['foo','bar','baz']。使用此参数会导致更快的解析时间和更低的内存使用率。

as_recarray:boolean,default False

DEPRECATED:此参数将在以后的版本中删除。请改用pd.read_csv(...)。to_records()

在解析数据后,返回NumPy recarray而不是DataFrame。如果设置为True,此选项优先于squeeze参数。此外,由于行索引在此类格式中不可用,因此将忽略index_col参数。

squeeze:boolean,default False

如果解析的数据只包含一列,则返回一个Series

前缀:str,默认值无

在没有标题时添加到列号的前缀,例如'X'代表X0,X1,...

mangle_dupe_cols:boolean,default True

重复的列将被指定为“X.0”...“X.N”,而不是“X”...“X”。如果在列中存在重复的名称,则传入False将导致覆盖数据。

dtype:输入列的名称或字典 - >类型,默认值无

数据或列的数据类型。例如。 {'a':np.float64,'b':np.int32}(不支持使用engine ='python')。使用str对象来保留而不是解释dtype。

转换器:dict,默认值无

说明转换某些列中的值的函数。键可以是整数或列标签

true_values:list,default无

要考虑的值为True

false_values:list,default无

要考虑的值为False

skipinitialspace:boolean,default False

跳过分隔符后的空格。

skiprows:list-like或integer,默认值无

要跳过的行号(0索引)或要跳过的行数(int)在文件的开头

skipfooter:int,default 0

跳过文件底部的行数(不支持engine ='c')

skip_footer:int,default 0

DEPRECATED:使用skipfooter参数,因为它们是相同的

nrows:int,default无

要读取的文件的行数。适用于读取大文件的片段

na_values:scalar,str,list-like或dict,默认值无

可识别为NA / NaN的其他字符串。如果dict通过,特定的每列NA值。默认情况下,以下值被解释为NaN:'','#N / A','#N / AN / A','#NA','-1. #IND','-1. #QNAN' '-NaN','-nan',

'。#IND','1.#QNAN','N / A','NA','NULL','NaN','nan'`。

keep_default_na:bool,default True

如果指定了na_values并且keep_default_na为False,则将覆盖默认NaN值,否则将追加它们。

na_filter:boolean,default True

检测缺失值标记(空字符串和na_values的值)。在没有任何NA的数据中,传递na_filter = False可以提高读取大文件的性能

verbose:boolean,default False

指示放置在非数字列中的NA值的数量

skip_blank_lines:boolean,default True

如果为True,请跳过空白行,而不是解释为NaN值

parse_dates:boolean或列表或名称或列表或dict列表,默认为False

  • 布尔。如果True - >尝试解析索引。

  • int或名称列表。例如如果[1,2,3] - >尝试将列1,2,3分别解析为单独的日期列。

  • 列表列表。例如如果[[1,3]] - >合并列1和3并解析为

    单个日期列。

  • dict。 {'foo':[1,3]} - >解析列1,3作为日期和调用结果'foo'

注意:iso8601格式的日期存在快速路径。

infer_datetime_format:boolean,default False

如果启用了True和parse_dates,pandas将尝试推断列中datetime字符串的格式,如果可以推断,则可以切换到更快的解析方式。在某些情况下,这可以将解析速度提高〜5-10x。

keep_date_col:boolean,default False

如果True和parse_dates指定合并多个列,则保留原始列。

date_parser:function,default无

用于将字符串列序列转换为datetime实例数组的函数。默认使用dateutil.parser.parser进行转换。Pandas将尝试以三种不同的方式调用date_parser,如果发生异常,则推进到下一个:1)将一个或多个数组(由parse_dates定义)作为参数传递; 2)将由parse_dates定义的列中的字符串值连接(逐行)到单个数组中,并传递;和3)对于每一行,使用一个或多个字符串(对应于由parse_dates定义的列)作为参数调用date_parser一次。

dayfirst:boolean,default False

DD / MM格式日期,国际和欧洲格式

迭代器:boolean,默认为False

返回TextFileReader对象以进行迭代或使用get_chunk()获取块。

chunksize:int,default无

返回TextFileReader对象以进行迭代。iteratorchunksize中查看IO工具文档了解更多信息

compression:{'infer','gzip','bz2','zip','xz',None}

用于磁盘上数据的即时解压缩。如果“infer”,则使用gzip,bz2,zip或xz,如果filepath_or_buffer是分别以“.gz”,“.bz2”,“.zip”或“xz”结尾的字符串,否则不进行解压缩。如果使用'zip',ZIP文件必须只包含一个要读入的数据文件。设置为无,无解压缩。

新版本0.18.1:支持'zip'和'xz'压缩。

:str,默认值无

千位分隔符

decimal:str,default'。

可识别为小数点的字符(例如,对于欧洲数据使用​​“,”)。

float_precision:string,default无

指定C引擎应该为浮点值使用哪个转换器。选项为普通转换器的,高精度转换器的和往返转换器的round_trip

lineterminator:str(length 1),默认值无

将文件拆分成行的字符。只有C解析器有效。

quotechar:str(length 1),可选

用于表示带引号项目的开始和结束的字符。引号项可以包含分隔符,它将被忽略。

引用:int或csv.QUOTE_ *实例,默认值为0

每个csv.QUOTE_*常量的控制字段引用行为。使用QUOTE_MINIMAL(0),QUOTE_ALL(1),QUOTE_NONNUMERIC(2)或QUOTE_NONE(3)之一。

doublequote:boolean,默认True

当指定quotechar且引用不是QUOTE_NONE时,指示是否将一个字段中的两个连续的元素解释为单个quotechar元素。

escapechar:str(length 1),默认值无

引号时用于转义分隔符的单字符字符串为QUOTE_NONE。

注释:str,默认值无

表示不应解析行的剩余部分。如果在行的开头找到,则该行将完全被忽略。此参数必须为单个字符。与空行一样(只要skip_blank_lines=True),完全注释的行就会被参数忽略,而不会被skiprows忽略。例如,如果comment ='#',用header = 0解析'#emptyna,b,cn1,2,3'将导致'a,b,c'被当作标题。

encoding:str,default无

在读/写时用于UTF的编码(例如,'utf-8')。Python标准编码列表

方言:str或csv.Dialect实例,默认值无

如果None默认为Excel方言。如果sep超过1个字符,则忽略。有关详细信息,请参阅csv.Dialect文档

tupleize_cols:boolean,default False

将列上的元组列表保留为原样(默认是将列转换为多索引)

error_bad_lines:boolean,default True

默认情况下,具有太多字段的行(例如,具有太多逗号的csv行)将引发异常,并且不会返回DataFrame。如果为False,那么这些“坏行”将从返回的DataFrame中删除。(只有C解析器有效)

warn_bad_lines:boolean,默认值为True

如果error_bad_lines为False,并且warn_bad_lines为True,则将输出每个“坏行”的警告。(只有C解析器有效)。

low_memory:boolean,default True

在内部以块的方式处理文件,导致解析时内存使用较少,但可能是混合类型推断。要确保没有混合类型,请设置False,或使用dtype参数指定类型。请注意,无论如何,整个文件都读入单个DataFrame,请使用chunksize迭代器参数以块形式返回数据。(只有C解析器有效)

buffer_lines:int,默认值无

DEPRECATED:此参数将在未来版本中删除,因为其值不受解析器的影响

compact_ints:boolean,default False

DEPRECATED:此参数将在以后的版本中删除

如果compact_ints为True,则对于任何整数为dtype的列,解析器将尝试将其转换为可能的最小整数dtype,根据use_unsigned参数的规范,可以是有符号或无符号。

use_unsigned:boolean,default False

DEPRECATED:此参数将在以后的版本中删除

如果整数列被压缩(即compact_ints = True),请指定该列是否应压缩到最小有符号或无符号整数dtype。

memory_map:boolean,default False

如果为filepath_or_buffer提供了文件路径,则将文件对象直接映射到内存上,并从中直接访问数据。使用此选项可以提高性能,因为不再有任何I / O开销。

返回:

result:DataFrame或TextParser

此外,'delimiter'用于指定填充字符

字段(如果它不是空格(例如,“〜”))。

Scroll To Top