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对象以进行迭代。在
iterator
和chunksize
中查看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'用于指定填充字符
字段(如果它不是空格(例如,“〜”))。