- ベストアンサー
ネストされた配列からのCSV出力の方法
- Ruby(2.0)を使用して、ネストされた配列からCSVファイルに出力する方法を学びたいです。
- CSVファイルの書式変換を行い、入力ファイル1と入力ファイル2の指定された列を移動して出力ファイルに保存する方法を知りたいです。
- 配列をCSVに書き出すための方法がわからず困っています。カッコやダブルコーテーションなどの問題が発生しています。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
>(できれば こちらの方法で出力する方法も覚えたいのですが.. ^^; ) 以下のようにしてください。 ---------------------------- CSV::open("output.csv","wb") do |writer| output_ary.each do |ar| writer << ar end end -----------------------------
その他の回答 (2)
- tatsu99
- ベストアンサー率52% (391/751)
#2です。windowsで実行する場合ですが 改行コードがCR+LFでファイルへ追加書き込みが希望でしたら ファイルオープン時、 CSV::open("output.csv","a") do |writer| としてください。 改行コードがCR+LFでファイルへ上書き書き込みが希望でしたら(以前のファイルの内容は削除されます) ファイルオープン時、 CSV::open("output.csv","w") do |writer| としてください。
お礼
ありがとうございます。 希望通りの結果が得られました。 ブロックも入れ子にしてしまうのですね.. まだ 動きがよく飲み込めていない気がするので、じっくりと確認してみます。 この4日間ほど(笑) 悩んでたことが 今日一日 いや半日で解決して とてもすっきりしました。 今後も 勉強に励みます。 たいへんありがとうございました!
- tatsu99
- ベストアンサー率52% (391/751)
----以下の行をあなたのプログラムに追加してください------ output_ary.each do |ar| line = ar.join(",") print line,"\n" end ------------------------------------ 上記で、画面に出力されます。 ファイルに出力する場合は、リダイレクトしてください。
お礼
tatsu99 さん。 ご回答をありがとうございます。 希望通りの CSVファイルが作成できました。 標準出力のリダイレクトででできるのですね.. ずっと CSV::open("output.csv","a") do |writer| writer << output_ary end ..の方法で正しく出力する方法を考えておりました。 (できれば こちらの方法で出力する方法も覚えたいのですが.. ^^; ) ありがとうございました!
お礼
ありがとうございます!