我有包含 2 条信息的国家/地区数据 csv,我尝试将其转换为 json 格式并将其存储在变量中。有人可以帮我用 ruby 或 JS 编写一个脚本来实现它吗?!
当前数据在我的电子表格 csv 中,如下所示:
code data
AW 12.78
AD 67.45
AF 95.62
AO 12.10
AL 50.52
我想把它变成这样的格式:
var countryData = {
"AW": 12.78,
"AD": 67.45,
"AF": 95.62,
"AO": 12.10,
"AL": 50.52
};
最佳答案
我将数据放入名为 a.csv 的文件中:
code data
AW 12.78
AD 67.45
AF 95.62
AO 12.10
AL 50.52
我会使用这些库进行如下操作。
require 'csv'
require 'json'
array = []
这里row是类CSV::Row
的一个实例。现在 row['code']
,row['data']
实际上是一个方法调用 CSV::Row#[]
.
CSV.foreach("/home/kirti/workspace/Ruby/a.csv",:skip_blanks => true,:headers => true,:col_sep => " ") do |row|
array << [row['code'],row['data'].to_f]
end
puts Hash[array].to_json
# >> {"AW":12.78,"AD":67.45,"AF":95.62,"AO":12.1,"AL":50.52}
您将获得有关我在下面使用的选项(:skip_blanks,*:headers*,:col_sep)的所有信息CSV::new
的文档。阅读这些内容。
关于javascript - 编写脚本将我的 csv 信息转换为 JSON 格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21653803/