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


Python dask.bag.Bag.to_textfiles用法及代码示例


用法:

Bag.to_textfiles(path, name_function=None, compression='infer', encoding='utf-8', compute=True, storage_options=None, last_endline=False, **kwargs)

将 dask Bag 写入磁盘,每个分区一个文件名,每个元素一行。

路径:这将为您包中的每个分区创建一个文件。您可以通过多种方式指定文件名。

使用全局字符串

>>> b.to_textfiles('/path/to/data/*.json.gz')

* 将被递增序列 1, 2, ... 替换

/path/to/data/0.json.gz
/path/to/data/1.json.gz

使用 globstring 和 name_function= 关键字参数。 name_function 函数应该期望一个整数并产生一个字符串。 name_function 生成的字符串必须保持其各自分区索引的顺序。

>>> from datetime import date, timedelta
>>> def name(i):
...     return str(date(2015, 1, 1) + i * timedelta(days=1))
>>> name(0)
'2015-01-01'
>>> name(15)
'2015-01-16'
>>> b.to_textfiles('/path/to/data/*.json.gz', name_function=name)
/path/to/data/2015-01-01.json.gz
/path/to/data/2015-01-02.json.gz
...

您还可以提供明确的路径列表。

>>> paths = ['/path/to/data/alice.json.gz', '/path/to/data/bob.json.gz', ...]  
>>> b.to_textfiles(paths)

压缩:具有与已知压缩算法(gz,bz2)对应的扩展名的文件名将被相应地压缩。

包内容物: 包在调用to_textfiles必须是一袋文本字符串。例如,可以通过映射将一袋字典写入 JSON 文本文件json.dumps先上袋子,然后调用to_textfiles

>>> b_dict.map(json.dumps).to_textfiles("/path/to/data/*.json")

末行:默认情况下,最后一行不以换行符结尾。经过last_endline=True反转默认值。

相关用法


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