2014-02-09 102 views
1

我有2個信息的國家數據的csv,我試圖將其轉換爲json格式並將其存儲在變量中。有人可以幫我寫一個紅寶石或JS腳本,使其發生?!編寫腳本將我的csv信息轉換爲JSON格式

目前的數據是在我的電子表格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 
}; 
+3

您是否嘗試過自己創建解決方案? – siame

回答

1

我把數據文件所謂a.csv

code data 

AW 12.78 

AD 67.45 

AF 95.62 

AO 12.10 

AL 50.52 

需要stdlib之間是CSVJSON

我會做如下使用這些庫。

require 'csv' 
require 'json' 

array = [] 

這裏是類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,* :頭 *,:col_sep)的所有信息,我這裏使用的,的CSV::new文檔下方。閱讀這些。

+0

上面的代碼工作100%,但是當我們沒有看到他們自己的嘗試時,它真的幫助用戶給他們一個答案嗎? – siame

+0

@steiger可能是OP從未使用過的CSV,所以我試圖幫助他,展示如何繼續。 –

+0

我從來沒有使用過它,所以謝謝你的解釋徹底!我將用不同的數據集多次執行此操作,因此將應用您分享的信息。謝謝! – NiBu