用法:
dask.dataframe.read_fwf(urlpath, blocksize='default', lineterminator=None, compression='infer', sample=256000, sample_rows=10, enforce=False, assume_missing=False, storage_options=None, include_path_column=False, **kwargs)
将fixed-width 文件读入 Dask.DataFrame
这通过以下方式并行化
pandas.read_fwf()
函数:它支持使用 globstrings 一次加载多个文件:
>>> df = dd.read_fwf('myfiles.*.csv')
在某些情况下,它可以分解大文件:
>>> df = dd.read_fwf('largefile.csv', blocksize=25e6) # 25MB chunks
它可以通过提供 URL 从外部资源(例如 S3、HDFS)读取 CSV 文件:
>>> df = dd.read_fwf('s3://bucket/myfiles.*.csv') >>> df = dd.read_fwf('hdfs:///myfiles.*.csv') >>> df = dd.read_fwf('hdfs://namenode.example.com/myfiles.*.csv')
在内部
dd.read_fwf
使用pandas.read_fwf()
并支持许多具有相同性能保证的相同关键字参数。有关可用关键字参数的更多信息,请参阅pandas.read_fwf()
的文档字符串。- urlpath:字符串或列表
绝对或相对文件路径。使用
s3://
之类的协议作为前缀,以从替代文件系统中读取。要从多个文件中读取,您可以传递一个 globstring 或路径列表,但需要注意的是它们都必须具有相同的协议。- blocksize:str,int 或 None,可选
分割较大文件的字节数。默认值是根据可用物理内存和内核数计算的,最大为 64MB。可以是
64000000
之类的数字或"64MB"
之类的字符串。如果None
,则每个文件使用一个块。- sample:整数,可选
确定 dtypes 时使用的字节数
- assume_missing:布尔型,可选
如果为 True,则假定
dtype
中未指定的所有整数列都包含缺失值,并转换为浮点数。默认为假。- storage_options:字典,可选
对特定存储连接有意义的额外选项,例如主机、端口、用户名、密码等
- include_path_column:bool 或 str,可选
是否包含每个特定文件的路径。如果为 True,则会将一个新列添加到名为
path
的 DataFrame 中。如果是 str,则设置新的列名。默认为假。- **kwargs:
额外的关键字参数转发到
pandas.read_fwf()
。
参数:
注意:
Dask 数据帧尝试通过从文件开头(或者如果是 glob,则从第一个文件)读取样本来推断每列的
dtype
。通常这工作正常,但如果dtype
稍后在文件(或其他文件)中不同,这可能会导致问题。例如,如果样本中的所有行都有整数 dtype,但后来有NaN
,那么这将在计算时出错。要解决此问题,您有几个选择:- 使用
dtype
关键字为有问题的列提供明确的 dtypes。这是推荐的解决方案。 - 使用
assume_missing
关键字假设所有推断为整数的列都包含缺失值,并将它们转换为浮点数。 - 使用
sample
关键字增加样本的大小。
还应注意,如果fixed-width 文件包含包含行终止符的带引号的字符串,则此函数可能会失败。要解决此问题,您可以指定
blocksize=None
不将文件拆分为多个分区,但会降低并行度。
相关用法
- Python dask.dataframe.read_table用法及代码示例
- Python dask.dataframe.read_hdf用法及代码示例
- Python dask.dataframe.read_json用法及代码示例
- Python dask.dataframe.read_sql_table用法及代码示例
- Python dask.dataframe.read_parquet用法及代码示例
- Python dask.dataframe.read_csv用法及代码示例
- Python dask.dataframe.read_orc用法及代码示例
- Python dask.dataframe.reshape.get_dummies用法及代码示例
- Python dask.dataframe.rolling.Rolling.var用法及代码示例
- Python dask.dataframe.rolling.Rolling.count用法及代码示例
- Python dask.dataframe.rolling.Rolling.min用法及代码示例
- Python dask.dataframe.rolling.Rolling.quantile用法及代码示例
- Python dask.dataframe.rolling.Rolling.std用法及代码示例
- Python dask.dataframe.rolling.Rolling.sum用法及代码示例
- Python dask.dataframe.rolling.Rolling.kurt用法及代码示例
- Python dask.dataframe.rolling.Rolling.mean用法及代码示例
- Python dask.dataframe.rolling.Rolling.median用法及代码示例
- Python dask.dataframe.Series.apply用法及代码示例
- Python dask.dataframe.to_records用法及代码示例
- Python dask.dataframe.DataFrame.applymap用法及代码示例
注:本文由纯净天空筛选整理自dask.org大神的英文原创作品 dask.dataframe.read_fwf。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。