るりまサーチ

最速Rubyリファレンスマニュアル検索!
156件ヒット [1-100件を表示] (0.030秒)
トップページ > クエリ:table[x] > クエリ:by_col![x]

別のキーワード

  1. enumerable max_by
  2. enumerable min_by
  3. _builtin max_by
  4. _builtin min_by
  5. array sort_by!

ライブラリ

クラス

キーワード

検索結果

<< 1 2 > >>

CSV::Table#by_col! -> self (21137.0)

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

...

//emlist[例][ruby]{
require "csv"

row1 = CSV::Row.new(["header1", "header2"], ["row1_1", "row1_2"])
row2 = CSV::Row.new(["header1", "header2"], ["row2_1", "row2_2"])
table
= CSV::Table.new([row1, row2])
table
.by_col!
table
[0] # => ["row1_1", "row2_1"]
table
[1] # => ["row1_2", "row2_2"]
//}...

CSV::Table#by_col_or_row -> CSV::Table (3183.0)

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

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

元のテーブルモードを変更せずにメソッドチェーンできるので便利です。しか
し、大きなデータセットに対しても同じだけメモリを消費するので気...
...der2"], ["row2_1", "row2_2"])
table
= CSV::Table.new([row1, row2]).by_col!
table
# => #<CSV::Table mode:col row_count:3>
col_or_row_table = table.by_col_or_row
col_or_row_table # => #<CSV::Table mode:col_or_row row_count:3>
table
# => #<CSV::Table mode:col row_count:3>
//}...

CSV::Table#[](header) -> [String] | [nil] (3126.0)

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

...ダの名前を指定すれば列単位で動作します。

このメソッドを呼び出す前に CSV::Table#by_col! を呼び出すとカラム
モードになります。また CSV::Table#by_row! を呼び出すとロウモード
になります。

@param index ミックスモード・ロウ...
...)
table
= CSV::Table.new([row1, row2])

# ミックスモード
p table.mode # => :col_or_row
p table[0] # => #<CSV::Row "header1":"row1_1" "header2":"row1_2">
p table[1] # => #<CSV::Row "header1":"row2_1" "header2":"row2_2">
p table["header2"] # => ["row1_2", "row2_2"]
p table...
...ード
table
.by_col!
p table.mode # => :col
p table[0] # => ["row1_1", "row2_1"]
p table[1] # => ["row1_2", "row2_2"]
p table["header2"] # => ["row1_2", "row2_2"]
p table[0..1] # => [["row1_1", "row1_2"], ["row2_1", "row2_2"]]

# ロウモード
table
.by_row!
p table.mode...

CSV::Table#[](index) -> CSV::Row | [String] | nil (3126.0)

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

...ダの名前を指定すれば列単位で動作します。

このメソッドを呼び出す前に CSV::Table#by_col! を呼び出すとカラム
モードになります。また CSV::Table#by_row! を呼び出すとロウモード
になります。

@param index ミックスモード・ロウ...
...)
table
= CSV::Table.new([row1, row2])

# ミックスモード
p table.mode # => :col_or_row
p table[0] # => #<CSV::Row "header1":"row1_1" "header2":"row1_2">
p table[1] # => #<CSV::Row "header1":"row2_1" "header2":"row2_2">
p table["header2"] # => ["row1_2", "row2_2"]
p table...
...ード
table
.by_col!
p table.mode # => :col
p table[0] # => ["row1_1", "row2_1"]
p table[1] # => ["row1_2", "row2_2"]
p table["header2"] # => ["row1_2", "row2_2"]
p table[0..1] # => [["row1_1", "row1_2"], ["row2_1", "row2_2"]]

# ロウモード
table
.by_row!
p table.mode...

CSV::Table#[](range) -> [CSV::Row]| [Array] | nil (3126.0)

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

...ダの名前を指定すれば列単位で動作します。

このメソッドを呼び出す前に CSV::Table#by_col! を呼び出すとカラム
モードになります。また CSV::Table#by_row! を呼び出すとロウモード
になります。

@param index ミックスモード・ロウ...
...)
table
= CSV::Table.new([row1, row2])

# ミックスモード
p table.mode # => :col_or_row
p table[0] # => #<CSV::Row "header1":"row1_1" "header2":"row1_2">
p table[1] # => #<CSV::Row "header1":"row2_1" "header2":"row2_2">
p table["header2"] # => ["row1_2", "row2_2"]
p table...
...ード
table
.by_col!
p table.mode # => :col
p table[0] # => ["row1_1", "row2_1"]
p table[1] # => ["row1_2", "row2_2"]
p table["header2"] # => ["row1_2", "row2_2"]
p table[0..1] # => [["row1_1", "row1_2"], ["row2_1", "row2_2"]]

# ロウモード
table
.by_row!
p table.mode...

絞り込み条件を変える

CSV::Table#[]=(index_or_header, value) (3084.0)

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

...ダの名前を指定すれば列単位で動作します。

このメソッドを呼び出す前に CSV::Table#by_col! を呼び出すとカラム
モードになります。また CSV::Table#by_row! を呼び出すとロウモード
になります。

行には配列か CSV::Row のインスタ...
...
table
= CSV::Table.new([row1, row2])
table
[0] # => #<CSV::Row "header1":"row1_1" "header2":"row1_2">
table
[1] # => #<CSV::Row "header1":"row2_1" "header2":"row2_2">
table
[1] = row3
table
[1] # => #<CSV::Row "header1":"row3_1" "header2":"row3_2">
table
.by_col!
table
[0] # => ["row1_1", "row3_1"]
table
...
...[1] # => ["row1_2", "row3_2"]
table
[1] = ["row1_2", "row2_2"]
table
[1] # => ["row1_2", "row2_2"]
//}...

CSV::Table#values_at(indices_or_headers) -> Array (3072.0)

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

...
単位の参照では、返り値は行ごとの配列を要素に持つ配列です。

探索方法を変更したい場合は CSV::Table#by_col!,
CSV::Table#by_row! を使用してください。

アクセスモードを混在させることはできません。

//emlist[例 ロウモード...
...w1 = CSV::Row.new(["header1", "header2"], ["row1_1", "row1_2"])
row2 = CSV::Row.new(["header1", "header2"], ["row2_1", "row2_2"])
table
= CSV::Table.new([row1, row2])
table
.values_at(1) # => [#<CSV::Row "header1":"row2_1" "header2":"row2_2">]
//}

//emlist[例 カラムモード][ruby]{
require "csv...
..."

row1 = CSV::Row.new(["header1", "header2"], ["row1_1", "row1_2"])
row2 = CSV::Row.new(["header1", "header2"], ["row2_1", "row2_2"])
table
= CSV::Table.new([row1, row2])
table
.by_col!
table
.values_at(1) # => [["row1_2"], ["row2_2"]]
//}

@see CSV::Table#by_col!, CSV::Table#by_row!...

CSV::Table#delete_if {|column_name, values| ... } -> self (3066.0)

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

..."header2"], ["row2_1", "invalid"])
row3 = CSV::Row.new(["header1", "header2"], ["row3_1", "valid"])
table
= CSV::Table.new([row1, row2, row3])
table
.delete_if { |row| row["header2"] == "invalid" }
table
.to_a # => [["header1", "header2"], ["row1_1", "valid"], ["row3_1", "valid"]]
//}

//emlist[例...
...V::Row.new(["id", "name"], [2, "suzuki"])
row3 = CSV::Row.new(["id", "name"], [3, "sato"])
table
= CSV::Table.new([row1, row2, row3])
table
.by_col!
table
.delete_if { |column_name, values| column_name == "id" }
table
.to_a # => [["name"], ["tanaka"], ["suzuki"], ["sato"]]
//}

@see CSV::Table#delete...

CSV::Table#delete_if {|row| ... } -> self (3066.0)

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

..."header2"], ["row2_1", "invalid"])
row3 = CSV::Row.new(["header1", "header2"], ["row3_1", "valid"])
table
= CSV::Table.new([row1, row2, row3])
table
.delete_if { |row| row["header2"] == "invalid" }
table
.to_a # => [["header1", "header2"], ["row1_1", "valid"], ["row3_1", "valid"]]
//}

//emlist[例...
...V::Row.new(["id", "name"], [2, "suzuki"])
row3 = CSV::Row.new(["id", "name"], [3, "sato"])
table
= CSV::Table.new([row1, row2, row3])
table
.by_col!
table
.delete_if { |column_name, values| column_name == "id" }
table
.to_a # => [["name"], ["tanaka"], ["suzuki"], ["sato"]]
//}

@see CSV::Table#delete...
<< 1 2 > >>