2016-08-15 10 views
2

にデータを書き込みますcsvファイル上記はcsvに書き込むために何をしようとしているのですが、動作しません。JSONは、私は小さなスクリプトを持っているCSVファイル

+1

ようこそスタックオーバーフロー。 「[mcve]」をお読みください。コードについて質問するときは、最小の入力データと予想される出力とともに、問題を示すために必要な最小限のコードが必要です。それらがなければ、テストするコードを書かなければならないか、コードが望むように見えるものに基づいて想像上のデータを書き換えなければなりません。あるいは、あなたが望むものと関連しない出力を生成します。これらはすべて、問題に直接答えることのない不正確さと回答につながります。そのため、私たちは、あなたと私たちがあなたと将来同様の解決策を探している人を助けるのに役立つ必要があります。 –

+0

「動作しません」という具体的な方法はありますか?ファイルを書きませんか?間違ったファイルに書き込みますか?スタックトレースを生成しますか? –

答えて

1

あなたの最初の間違いは<<です。各<<は1行を作成するので、<<メソッドをn回呼び出す必要があります。nは行数です。

2番目の間違いは、配列要素を連結し、<<の引数として文字列を渡そうとすることです。それぞれ<<の引数は配列でなければなりません。

要約、2行含むCSVファイルを作成する:

# my.csv 
1,2,3 
4,5,6 

をあなたが書く必要があります。

CSV.open("my.csv", "wb") do |csv| 
    csv << [1, 2, 3] 
    csv << [4, 5, 6] 
end 

を同様に、自分の所望の効果を達成するために、ようにコードを書き換えるしよう:

CSV.open("generated.csv", "wb") do |csv| 
    json.each do |node| 
    csv << node.collect { |k,v| v } 
    end 
end 
関連する問題