このエントリーをはてなブックマークに追加


配列に格納されている値をCSV形式で出力する

Arrayのjoinメソッドを利用するととても簡単にCSV形式で出力することができます。
以下のサンプルコードはカンマ区切りにしていますが、joinメソッドに渡す値を変更すれば他の文字することも可能です。


スポンサーリンク

関連記事

Array.joinのサンプルコード

以下に3種類のサンプルコードを記します。

サンプルーコード1

以下のような配列の場合は、1行のCSVを出力します。

ary = ['red', 'green', 'blue']
ary.join(",")

実行結果1

$ ruby join-1.rb 
red,green,blue

サンプルーコード2

以下のように配列内にCSVにしたい配列が複数行格納されている場合は以下のようにします。

ary = [['red', 'green', 'blue'], ['linux', 'windows', 'macosx']]
ary.each {|v|
  puts v.join(",")
}

実行結果2

$ ruby join-2.rb 
red,green,blue
linux,windows,macosx

サンプルーコード3

先頭に番号をつけたい場合は、each.with_indexを使用すれば可能です。
(each.with_indexをeach_with_indexに置き換えても同等の結果になります)

ary = [['red', 'green', 'blue'], ['linux', 'windows', 'macosx']]
ary.each.with_index {|v, i|
  puts "#{i+1},#{v.join(",")}"
}

実行結果3

$ ruby join-3.rb 
1,red,green,blue
2,linux,windows,macosx

スポンサーリンク


添付ファイル: filejoin-1.rb 877件 [詳細] filejoin-2.rb 601件 [詳細] filejoin-3.rb 575件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2015-03-20 (金) 22:31:22