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

class CSV::Reader

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

Abstract

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

特異メソッド

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

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
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

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

each {|row| ... } -> nil

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

shift -> Array

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

注意:

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

privateメソッド

get_row(row) -> ()

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

initialize(dev) -> ()

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

terminate -> ()

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

Methods

Classes