2016-07-14 6 views
0

Ich habe versucht, Ruby zu verwenden, um eine CSV-Datei aus JSON-Daten zu erstellen. Ich konnte die Datei erstellen, aber ich muss ein paar Header hinzufügen. Ich habe versucht, den folgenden Fragen und Antworten zu ähnlichen Fragen zu Stack Overflow zu folgen, aber ich bekomme immer wieder Fehler. Kann mir jemand ein paar Hinweise geben?Hinzufügen von Kopfzeilen zu einer erstellten CSV-Datei in Ruby - Fehler erhalten

Hier ist mein Code.

require 'csv' 
require 'json' 

CSV.open("your_csv.csv", "w") do |csv| 
    JSON.parse(File.open("tojson.txt").read).each do |hash| 
    csv << hash.values 
    @csv.each { |line| line['New_header'] = line[0].to_i + line[1].to_i } 
    end 
end 

Und hier ist der Fehler Ich erhalte: error

jemand irgendwelche Vorschläge?

+0

Bitte verwenden Sie keine Bilder für Daten, Fehler oder Code. Wir können diese Information nicht kopieren/einfügen, was uns zwingt, sie einzugeben. –

Antwort

0

Sie haben keine Variable @csv. Du hast einen csv einen.

1

So fügen Sie keine Header zu einer CSV-Datei hinzu. Wenn Sie csv-Inhalt generieren, ist eine Kopfzeile nur eine reguläre Zeile. Und sollte als solche generiert werden. Beispiel:

CSV.open("your_csv.csv", "w") do |csv| 
    csv << ['new_header', 'value1', 'value2'] # the headers 
    JSON.parse(File.open("tojson.txt").read).each do |hash| 
    row = [generate, values, for, headers, above] 
    csv << row 
    end 
end 
+0

Nun, Sie können auch 'CSV.open (" foo.csv "," w ", headers: arr, write_headers: true)' 'machen. –

+0

@ Jordan: hm, habe dieses Formular noch nie zuvor benutzt. Danke fürs Erwähnen. –