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

class CSV::Table

クラス・モジュールの継承リスト: CSV::Table < Enumerable < Object < Kernel < BasicObject
extend: Forwardable

要約

CSV::Table は CSV ドキュメントを表す二次元のデータ構造です。行単位や列単位の操作を行うことが出来ます。また必要であれば CSV に戻すこともできます。

ヘッダ行の処理が有効である場合、CSV から返されるテーブルは全てこのクラスから構築されます。

以下のメソッドを Array に委譲します。

アクセスモード

以下の三種類のモードがあります。

:col_or_row

デフォルトはこのモードです。このマニュアル内ではミックスモードと呼んでいます。行単位でアクセスするか列単位でアクセスするか自動的に判断します。

:row

ロウモード。テーブルに行単位でアクセスします。

:column

カラムモード。テーブルに列単位でアクセスします。

特異メソッド

定義 説明
new(array_of_rows) -> CSV::Table

自身を初期化します。

インスタンスメソッド

定義 説明
self << row_or_array -> self

自身の最後に新しい行を追加します。

self == other -> bool

自身の全ての行が比較対象と同じである場合は真を返します。そうでない場合は偽を返します。

self[index] -> CSV::Row | [String] | nil
self[range] -> [CSV::Row]| [Array] | nil
self[header] -> [String] | [nil]

ミックスモードでは、このメソッドは引数に行番号を指定すれば行単位で動作し、ヘッダの名前を指定すれば列単位で動作します。

self[index_or_header] = value

ミックスモードでは、このメソッドは引数に行番号を指定すれば行単位で動作し、ヘッダの名前を指定すれば列単位で動作します。

by_col -> CSV::Table

カラムモードになっている新しい CSV::Table オブジェクトを返します。

by_col! -> self

自身をカラムモードに変更します。

by_col_or_row -> CSV::Table

ミックスモードになっている新しい CSV::Table オブジェクトを返します。

by_col_or_row! -> self

自身をミックスモードに変更します。

by_row -> CSV::Table

ロウモードになっている新しい CSV::Table オブジェクトを返します。

by_row! -> self

自身をロウモードに変更します。

delete(index_or_header) -> object

指定された行か列を削除して返します。

delete_if {|row| ... } -> self
delete_if {|column_name, values| ... } -> self

ブロックを評価した結果が真である行か列を削除します。

each {|row| ... } -> self
each {|column_name, values| ... } -> self

デフォルトのミックスモードかロウモードでは、行単位で繰り返します。カラムモードでは、ブロックに列名と対応する値の配列を与え、列単位で繰り返します。

empty? -> bool

ヘッダーを除いて、データがないときに true を返します。

headers -> Array

自身のヘッダ行を返します。

inspect -> String

モードとサイズを US-ASCII な文字列で返します。

length -> Integer
size -> Integer

(ヘッダを除く)行数を返します。

mode -> Symbol

現在のアクセスモードを返します。

push(*rows) -> self

複数の行を追加するためのショートカットです。

to_a -> [Array]

配列の配列を返します。

to_csv(options = Hash.new) -> String
to_s(options = Hash.new) -> String

CSV の文字列に変換して返します。

values_at(indices_or_headers) -> Array

デフォルトのミックスモードでは、インデックスのリストを与えると行単位の参照を行い、行の配列を返します。他の方法は列単位の参照と見なします。行単位の参照では、返り値は行ごとの配列を要素に持つ配列です。

protectedメソッド

定義 説明
table -> Array

同値性を比較するために内部的に使用します。

継承したメソッド

! != __id__ __send__ instance_eval instance_exec method_missing singleton_method_added singleton_method_removed singleton_method_undefined all? any? chunk chunk_while collect collect_concat count cycle detect drop drop_while each_cons each_entry each_slice each_with_index each_with_object entries find_all find_index first grep grep_v group_by include? inject lazy max max_by min min_by minmax minmax_by none? one? partition reject reverse_each slice_after slice_before slice_when sort sort_by sum take take_while to_h to_set uniq zip def_delegator def_delegators delegate !~ <=> === =~ _dump class clone define_singleton_method display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? itself marshal_dump marshal_load method methods nil? object_id pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods psych_to_yaml public_method public_methods public_send remove_instance_variable respond_to? respond_to_missing? send singleton_class singleton_method singleton_methods taint tainted? tap to_ary to_hash to_int to_io to_proc to_regexp to_str trust untaint untrust untrusted? .yaml_tag ::ARGF ::ARGV ::DATA ::ENV ::FALSE ::NIL ::RUBY_COPYRIGHT ::RUBY_DESCRIPTION ::RUBY_ENGINE ::RUBY_ENGINE_VERSION ::RUBY_PATCHLEVEL ::RUBY_PLATFORM ::RUBY_RELEASE_DATE ::RUBY_REVISION ::RUBY_VERSION ::SCRIPT_LINES__ ::STDERR ::STDIN ::STDOUT ::TOPLEVEL_BINDING ::TRUE