2016-07-14 37 views
0

我一直在尝试使用Ruby从json数据创建CSV文件。我能够创建该文件,但我需要添加一些标题。我尝试了Stack Overflow上发布的类似问题的建议和答案,但是我不断收到错误。任何人都可以给我一些指点吗?将标题添加到Ruby中创建的CSV文件 - 不断收到错误

这是我的代码。

require 'csv' 
require 'json' 

CSV.open("your_csv.csv", "w") do |csv| 
    JSON.parse(File.open("tojson.txt").read).each do |hash| 
    csv << hash.values 
    @csv.each { |line| line['New_header'] = line[0].to_i + line[1].to_i } 
    end 
end 

,这里是错误我得到: error

任何人有什么建议?

+0

请不要将图像用于数据,错误或代码。我们不能复制/粘贴该信息,迫使我们输入它。 –

回答

0

您没有@csv变量。你有一个csv之一。

1

这不是您如何将标题添加到csv文件。当您生成csv内容时,标题行只是一个常规行。并应该像这样生成。例如:

CSV.open("your_csv.csv", "w") do |csv| 
    csv << ['new_header', 'value1', 'value2'] # the headers 
    JSON.parse(File.open("tojson.txt").read).each do |hash| 
    row = [generate, values, for, headers, above] 
    csv << row 
    end 
end 
+0

那么,你也可以做'CSV.open(“foo.csv”,“w”,headers:arr,write_headers:true)''。 –

+0

@Jordan:嗯,从来没有使用过这种形式。感谢提及。 –