试图寻求一些关于管理广泛的ETL过程的最佳方法的指导。我的管道有一个相当光滑的提取部分,并以简洁的方式加载到指定的文件中;但我认为进行转换步骤的唯一方法是一系列变量赋值:
a = ['some','form','of','petl','data']
b = petl.addfield(a, 'NewStrField', str(a))
c = petl.addrownumbers(b)
d = petl.rename(c, 'row', 'ID')
.......
重新格式化以分配相同的变量名是有意义的,但无助于可读性:
a = ['some','form','of','petl','data']
a = petl.addfield(a, 'NewStrField', str(a))
a = petl.addrownumbers(a)
a = petl.rename(a, 'row', 'ID')
.......
我读过多个方法调用,比如:
a = ['some','form','of','data']
result = petl.addfield(a, 'NewStrField', str(a))
.addrownumbers(a)
.rename(a, 'row', 'ID')
.......
但这行不通,因为函数需要表作为传递的第一个参数
我是否缺少一些基本的东西?我不愿意相信,正确的商业方式涉及1000+LOC
创建一个部分应用函数的列表,然后在该列表上循环
您的“total”转换是列表
transforms
中转换的组合。您可以使用提供函数组合的库预先完成这些操作(代价是一些额外的函数调用),也可以自己滚动相关问题 更多 >
编程相关推荐