2014-02-09 6 views
1

У меня есть данные о стране с данными из двух частей, и я пытаюсь преобразовать ее в формат 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 

Необходимые stdlibs являются CSV и JSON.

Я бы сделал, как показано ниже, с помощью этих библиотек.

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

Смежные вопросы