dask.bag.read_text
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://
等协议前缀可以从其他文件系统读取。要从多个文件读取,可以传递一个全局字符串或路径列表,但前提是它们必须使用相同的协议。- blocksize: None, int, 或 str
分割大文件的大小(以字节为单位)。默认情况下使用流。可以是
None
表示流式传输,一个整数字节数,或像 “128MiB” 这样的字符串。- 压缩: 字符串
压缩格式,如 ‘gzip’ 或 ‘xz’。默认为 ‘infer’
- 编码: 字符串
- 错误: 字符串
- linedelimiter: 字符串或None
- collection: bool, 可选
如果为 True,则返回 dask.bag,如果为 False,则返回延迟值的列表
- storage_options: dict
特定存储连接有意义的额外选项,例如主机、端口、用户名、密码等。
- files_per_partition: None 或 int
如果设置,将输入文件分组为请求大小的分区,而不是每个文件一个分区。与块大小互斥。
- include_path: bool
是否在包中包含路径。如果为真,元素是 (行, 路径) 的元组。默认为 False。
- 返回
- dask.bag.Bag 或 list
dask.bag.Bag 如果 collection 为 True,否则为 Delayed 列表的列表。
参见
from_sequence
从 Python 序列构建包
示例
>>> 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'),)