2017-02-15 2 views
-1

J'ai un tableau JSON au format suivant.JSON Array to CSV via FasterCSV

[{"Name":"Ann","Gender":"Female","Age":"20"},{"Name":"John","Gender":"Male","Age":"22"}] 

Je veux convertir en suivant le format CSV sans imprimer la « clé » et aussi je le veux pour imprimer seulement la valeur et la valeur NameAge. par exemple. Ann, 20 John, 22

J'ai essayé avec le code suivant.

#!//usr/bin/env ruby 
require "rubygems" 
require 'fastercsv' 
require 'json' 

csv_string = FasterCSV.generate({}) do |csv| 
    JSON.parse(File.open("test").read).each do |hash| 
    csv << hash 
    end 
end 

puts csv_string 

test contient le tableau JSON que je vais essayer d'analyser.

+0

Qu'est-il arrivé avec ' "genre"'? – sawa

Répondre

0

Votre format JSON n'est pas valide. format valide JSON est:

[{"Name":"Ann","Gender":"Female","Age":"20"},{"Name":"John","Gender":"Male","Age":"22"}] 

Essayez ceci:

require "rubygems" 
require 'fastercsv' 
require 'json' 

csv_string = FasterCSV.generate({}) do |csv| 
    JSON.parse(File.open("test").read).each do |hash| 
    csv << [hash["Name"], hash["Age"]] 
    end 
end 

puts csv_string