我似乎无法在Bonobo ETL库中获得CsvReader来生成除元组以外的任何内容。该文档似乎表明它应该产生字典而不是元组,但是尝试一下,我似乎无法让它通过除元组以外的任何东西。我真的很想访问附加到每个值的列名。它引发一个错误,表明在传递时会出现列名,但是在我定义的转换方法中,只有值本身可用。
import bonobo
def printer(*csv):
print(csv)
def get_graph(**options):
graph = bonobo.Graph()
graph.add_chain(
bonobo.CsvReader('csv.txt'),
printer
)
return graph
def get_services(**options):
return {}
if __name__ == '__main__':
parser = bonobo.get_argument_parser()
with bonobo.parse_args(parser) as options:
bonobo.run(get_graph(**options), services=get_services(**options))
它与打印机方法的参数有关吗?我知道,*csv当参数解压缩可迭代的参数时,其他任何可能的参数声明都将引发typeError。
有什么建议么?避免完全使用内置的Bonobo CsvReader而不是仅创建使用DictReader或类似方法的提取方法会更好吗?
Helenr
相关分类