Ruby 1.8.7 リファレンスマニュアル > ライブラリ一覧 > csvライブラリ > CSVクラス > open
open(path, mode, fs = nil, rs = nil) {|row| ... } -> nil
[permalink][rdoc]open(path, mode, fs = nil, rs = nil) -> CSV::Reader | CSV::Writer
CSVファイルを読み込んでパースします。
読み込みモード時には path にあるファイルを開き各行を配列として ブロックに渡します。
パース時に""(空文字)と値なし(nil)を区別します。 例えば、読み込みモード時にa, "", , b の行をパースした場合には ["a", "", nil, "b"] の配列を返します。
例:
CSV.open("/temp/test.csv", 'r') do |row| puts row.join("<>") end
tsv(Tab Separated Values)ファイルなどのセパレータをカンマ以外で指定
CSV.open("/temp/test.tsv", 'r', "\t") do |row| puts row.join("<>") end
ブロックを渡さなかった場合 CSV::Reader を返します。
書き込みモード時には path にあるファイルを開き CSV::Writer をブロックに渡します。
例:
CSV.open("/temp/test.csv", 'w') do |writer| writer << ["ruby", "perl", "python"] writer << ["java", "C", "C++"] end
ブロック未指定の場合 CSV::Writer を返します。