Ruby 1.8.7 リファレンスマニュアル > ライブラリ一覧 > csvライブラリ > CSV::Readerクラス

class CSV::Reader

クラスの継承リスト: CSV::Reader < Enumerable < Object < Kernel

要約

CSVの読み込み時のベースとなるクラス

目次

特異メソッド
create parse
インスタンスメソッド
close each shift
privateメソッド
get_row initialize terminate

特異メソッド

create(str_or_readable, fs = ',', rs = nil) -> CSV::StringReader[permalink][rdoc]

CSVデータを解析して、解析結果を格納したCSV::StringReaderを返します。

[PARAM] str_or_readable:
パースする対象の文字列
[PARAM] fs:
フィールドセパレータの指定。 nil (デフォルト) で ',' をセパレータとします。
[PARAM] rs:
行区切り文字の指定。nil (デフォルト) で CrLf / Lf。 Cr を行区切りとしたい場合は ?\r を渡します。
parse(str_or_readable, fs = ',', rs = nil) -> CSV::StringReader[permalink][rdoc]
parse(str_or_readable, fs = ',', rs = nil) {|row| ... } -> nil

CSVデータを解析して、CSV::StringReaderを返します。 ブロックに渡された場合はパースした結果を1列ずつArrayとして渡します。

[PARAM] str_or_readable:
パースする対象の文字列
[PARAM] fs:
フィールドセパレータの指定。 nil (デフォルト) で ',' をセパレータとします。
[PARAM] rs:
行区切り文字の指定。nil (デフォルト) で CrLf / Lf。 Cr を行区切りとしたい場合は ?\r を渡します。
注意

パース時に""(空文字)と値なしを区別します。 例えば、a, "", , b の行をパースした場合には ["a", "", nil, "b"] の配列を返します。

例:

CSV::Reader.parse("1,2,3\nA,B,C\n"){|row|
  p row
}

インスタンスメソッド

close -> nil[permalink][rdoc]

内部的にterminateメソッドを呼び出します。

each {|row| ... } -> nil[permalink][rdoc]

自身から 1 行ずつ読み込み、それを引数として与えられたブロックを実行します。

shift -> Array[permalink][rdoc]

CSVをパースした結果から1行分を取り除き、取り除いた1行を配列として返します。 shiftは破壊的メソッドです。

注意

パース時に""(空文字)と値なしを区別します。 例えば、a, "", , b の行をパースした場合には ["a", "", nil, "b"] の配列を返します。

privateメソッド

get_row(row) -> ()[permalink][rdoc]

本メソッドは再定義 or サブクラスで定義されることを想定されています。 再定義せずに呼び出した場合は例外NotImplementedErrorが発生します。

initialize(dev) -> ()[permalink][rdoc]

本メソッドは再定義 or サブクラスで定義されることを想定されています。 再定義せずに呼び出した場合は例外RuntimeErrorが発生します。

terminate -> ()[permalink][rdoc]

終了時処理を行う場合に再定義してください。