当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python dask.bag.read_text用法及代码示例


用法:

dask.bag.read_text(urlpath, blocksize=None, compression='infer', encoding='utf-8', errors='strict', linedelimiter=None, collection=True, storage_options=None, files_per_partition=None, include_path=False)

从文本文件中读取行

参数

urlpath字符串或列表

绝对或相对文件路径。使用 s3:// 之类的协议作为前缀,以从替代文件系统中读取。要从多个文件中读取,您可以传递一个 globstring 或路径列表,但需要注意的是它们都必须具有相同的协议。

blocksize: None, int, or str

分割较大文件的大小(以字节为单位)。默认为流。可以是None(用于流式传输)、整数字节或类似“128MiB” 的字符串

compression: string

压缩格式如‘gzip’ or ‘xz’。默认为‘infer’

encoding: string
errors: string
linedelimiter: string or None
collection: bool, optional

如果为真,则返回 dask.bag,如果为假,则返回延迟值列表

storage_options: dict

对特定存储连接有意义的额外选项,例如主机、端口、用户名、密码等

files_per_partition: None or int

如果设置,则将输入文件分组到请求大小的分区中,而不是每个文件一个分区。与块大小互斥。

include_path: bool

是否在包中包含路径。如果为 true,则元素是 (line, path) 的元组。默认为假。

返回

dask.bag.Bag 或列表

dask.bag.Bag 如果collection 为True,否则为延迟列表列表。

例子

>>> b = read_text('myfiles.1.txt')  
>>> b = read_text('myfiles.*.txt')  
>>> b = read_text('myfiles.*.txt.gz')  
>>> b = read_text('s3://bucket/myfiles.*.txt')  
>>> b = read_text('s3://key:secret@bucket/myfiles.*.txt')  
>>> b = read_text('hdfs://namenode.example.com/myfiles.*.txt')

通过提供要加载到每个分区中的未压缩字节数来并行化大文件。

>>> b = read_text('largefile.txt', blocksize='10MB')

通过设置include_path=True获取包的文件路径

>>> b = read_text('myfiles.*.txt', include_path=True) 
>>> b.take(1) 
(('first line of the first file', '/home/dask/myfiles.0.txt'),)

相关用法


注:本文由纯净天空筛选整理自dask.org大神的英文原创作品 dask.bag.read_text。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。