要約
CSVの読み込み時のベースとなるクラス
目次
継承しているメソッド
- Enumerableから継承しているメソッド
-
- all?
- any?
- collect
- count
- cycle
- detect
- drop
- drop_while
- each_cons
- each_slice
- each_with_index
- entries
- enum_cons
- enum_slice
- enum_with_index
- find
- find_all
- find_index
- first
- grep
- group_by
- include?
- inject
- map
- max
- max_by
- member?
- min
- min_by
- minmax
- minmax_by
- none?
- one?
- partition
- reduce
- reject
- reverse_each
- select
- sort
- sort_by
- take
- take_while
- to_a
- zip
特異メソッド
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]-
終了時処理を行う場合に再定義してください。