简单的数据处理工具。
项目描述
Datapiper提供了一个灵活、易于使用的库,用于构建和运行简单的数据批量处理管道。
给Datapiper你的数据处理的调用函数列表,它将为你构建一个可运行的数据管道。
如果你使用(可迭代)数据源实例化管道,你将获得一个从源读取并为你输出处理数据的生成器
>>> operations = [lambda context, data: data+1]
>>> datasource = [1,2,3]
>>> p = Piper(operations, source=datasource)
>>> print p
pipe: source > <lambda>
>>> [r for r in p]
[2,3,4]
如果你使用(可调用)数据汇实例化它,你将获得一个接受生产者数据的协程并将处理后的数据传递到汇
>>> operations = [lambda context, data: data+1]
>>> results = []
>>> def datasink(data):
... results.append(data)
>>> p = Piper(operations, sink=datasink)
>>> print p
pipe: <lambda> > sink
>>> for v in (1,2,3):
... p.send(v)
...
>>> results
[2,3,4]
传递给数据操作调用函数的上下文参数旨在在它们之间共享状态。它可以通过将其作为(可选)关键字参数传递给Piper类来初始化为所需的值。上下文参数可以是任何东西;推荐使用字典。
请查看测试以获取更多示例。
历史
0.1.0 (2017-10-31)
在PyPI上的首次发布。