我目前正在使用包含API调用中的多个JSON对象的.txt文件。我正在寻找一种方法将所有这些对象解析为.csv文件。在过去,我已经能够将一个JSON对象转换为.csv,但我不确定如何为多个JSON对象做这个。
示例JSON:
[{"field1":["value1"], "field2": ["value2"]}]
[{"field1":["value1"], "field2": ["value2"]}]
[{"field1":["value1"], "field2": ["value2"]}]
我目前用于将JSON推送到CSV的代码如下所示,尽管它似乎只适用于一个JSON对象。我认为我需要的是某种循环,它会推动每个对象通过,然后再循环。
require 'csv'
require 'json'
CSV.open("sample.csv", "w") do |csv|
csv << ["field1",
"field2"
]
JSON.parse(File.open("json.txt").read).each do |hash| #open json to parse
csv << hash.values
end
end
任何人都可以给我任何建议吗?我找到了多个对象解析的解决方案,但没有一个能真正帮助我解决CSV部分问题。
答案 0 :(得分:0)
require 'csv'
require 'json'
CSV.open("sample.csv", "w") do |csv|
csv << ["field1", "field2"]
File.open("json.txt").each do |line|
csv << JSON.parse(line).first.values.flatten
end
end
虽然考虑到格式更改这不太安全,所以我会添加一些验证