【问题标题】:Writing a script to convert my csv info to JSON format编写脚本将我的 csv 信息转换为 JSON 格式
【发布时间】:2014-03-06 09:40:03
【问题描述】:

我有包含 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
};

【问题讨论】:

  • 您有没有尝试过自己创建解决方案?

标签: javascript ruby json csv


【解决方案1】:

我将数据放在一个名为 a.csv 的文件中:

code data

AW 12.78

AD 67.45

AF 95.62

AO 12.10

AL 50.52

必需的标准库是 CSVJSON

我会使用这些库执行以下操作。

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 的文档。阅读那些。

【讨论】:

  • 您上面的代码 100% 有效,但是当我们没有看到他们自己的尝试时,它真的能帮助用户给出一个彻底的答案吗?
  • @steiger 可能是 OP 从未使用过 CSV,所以我试图帮助他,展示如何继续。
  • 我以前从未使用过它,所以感谢您的详尽解释!我将使用不同的数据集多次执行此操作,因此将应用您共享的信息。谢谢!
猜你喜欢
  • 2015-03-26
  • 2014-04-21
  • 2015-11-08
  • 2013-11-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-02-04
  • 1970-01-01
相关资源
最近更新 更多