在不同的时间,我发现自己有一系列哈希'在我的ruby脚本中,我想将它们写入csv文件。我知道我可以使用FasterCSV。
我的问题是,如果我想指定某些字段该怎么办?如何在不自己进行哈希过滤的情况下完成此操作?理想情况下,我可以将字段列表指定为FasterCSV,然后附加哈希值。然后,FasterCSV会将值过滤到与指定字段匹配的键,然后完成剩下的工作。
Python有一个名为DictWriter的库,它可以做到这一点。
答案 0 :(得分:3)
好的,我向詹姆斯(FasterCSV的作者)问了你的问题,这是他的回答:
如果您有哈希数组,请说
[{a: 1, b: 2, x: 0}, {a: 2, b: 3}]
并且您只需要:a和:b键,您可以执行以下操作:
>> CSV.generate(headers: [:a, :b]) do |csv|
| [{a: 1, b: 2, x: 0}, {a: 3, b: 10}].each do |row|
| csv << row
| end
| end
=> "1,2\n3,10\n"
希望有所帮助。