るりまサーチ

最速Rubyリファレンスマニュアル検索!
192件ヒット [1-100件を表示] (0.078秒)
トップページ > クエリ:Ruby[x] > クエリ:ruby[x] > 種類:インスタンスメソッド[x] > クエリ:-[x] > クエリ:@[x] > ライブラリ:csv[x] > クラス:CSV::Table[x]

別のキーワード

  1. fiddle ruby_free
  2. rbconfig ruby
  3. fiddle build_ruby_platform
  4. rake ruby
  5. rubygems/defaults ruby_engine

キーワード

検索結果

<< 1 2 > >>

CSV::Table#push(*rows) -> self (140.0)

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

...以下と同じです。
//emlist[][ruby]{
rows.each {|row| self << row }
//}

@
param rows CSV::Row のインスタンスか配列を指定します。

//emlist[例][ruby]{
require 'csv'
csv
= CSV.new("a,b,c\n1,2,3", headers: true)
table = csv.read
rows = [
CSV
::Row.new(table.headers, [4, 5, 6]),...
...[7, 8, 9]
]

table.push(*rows)
p table[0..2]
# => [#<CSV::Row "a":"1" "b":"2" "c":"3">, #<CSV::Row "a":4 "b":5 "c":6>, #<CSV::Row "a":7 "b":8 "c":9>]
//}

@
see CSV::Table#<<...

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

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

...列単位で動作します。

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

@
param index ミックスモード・ロウモードでは、取得した...
...整数で指定します。
@
param range 取得したい範囲を整数の範囲で指定します。
@
param header 取得したい列のヘッダを文字列で指定します。ロウモードでは使用できません。

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

row1 = CSV::Row.new(["header1", "heade...
...", "row1_2"])
row2 = CSV::Row.new(["header1", "header2"], ["row2_1", "row2_2"])
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":"ro...

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

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

...列単位で動作します。

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

@
param index ミックスモード・ロウモードでは、取得した...
...整数で指定します。
@
param range 取得したい範囲を整数の範囲で指定します。
@
param header 取得したい列のヘッダを文字列で指定します。ロウモードでは使用できません。

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

row1 = CSV::Row.new(["header1", "heade...
...", "row1_2"])
row2 = CSV::Row.new(["header1", "header2"], ["row2_1", "row2_2"])
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":"ro...

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

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

...列単位で動作します。

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

@
param index ミックスモード・ロウモードでは、取得した...
...整数で指定します。
@
param range 取得したい範囲を整数の範囲で指定します。
@
param header 取得したい列のヘッダを文字列で指定します。ロウモードでは使用できません。

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

row1 = CSV::Row.new(["header1", "heade...
...", "row1_2"])
row2 = CSV::Row.new(["header1", "header2"], ["row2_1", "row2_2"])
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":"ro...

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

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

...//emlist[例 ロウモード][ruby]{
require "csv"

row1 = CSV::Row.new(["header1", "header2"], ["row1_1", "valid"])
row2 = CSV::Row.new(["header1", "header2"], ["row2_1", "invalid"])
row3 = CSV::Row.new(["header1", "header2"], ["row3_1", "valid"])
table = CSV::Table.new([row1, row2, row3])
table....
...w3_1", "valid"]]
//}

//emlist[例 カラムモード][ruby]{
require "csv"
row1 = CSV::Row.new(["id", "name"], [1, "tanaka"])
row2 = CSV::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 (134.0)

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

...//emlist[例 ロウモード][ruby]{
require "csv"

row1 = CSV::Row.new(["header1", "header2"], ["row1_1", "valid"])
row2 = CSV::Row.new(["header1", "header2"], ["row2_1", "invalid"])
row3 = CSV::Row.new(["header1", "header2"], ["row3_1", "valid"])
table = CSV::Table.new([row1, row2, row3])
table....
...w3_1", "valid"]]
//}

//emlist[例 カラムモード][ruby]{
require "csv"
row1 = CSV::Row.new(["id", "name"], [1, "tanaka"])
row2 = CSV::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#values_at(indices_or_headers) -> Array (134.0)

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

...たい場合は CSV::Table#by_col!,
CSV::Table
#by_row! を使用してください。

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

//emlist[例 ロウモード][ruby]{
require "csv"

row1 = CSV::Row.new(["header1", "header2"], ["row1_1", "row1_2"])
row2 = CSV::Row.new(["heade...
...["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", "header...
...2"], ["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#<<(row_or_array) -> self (128.0)

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

...す。

@
param row_or_array CSV::Row のインスタンスか配列を指定します。
配列を指定した場合は CSV::Row に変換されます。

@
return メソッドチェーンのために自身を返します。

//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])
table << row2
table.to_a # => [["header1", "header2"], ["row1_1", "row1_2"], ["row2_1", "row2_2"]]
//}...

CSV::Table#==(other) -> bool (122.0)

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

...い場合は偽を返します。

@
param other CSV::Table を指定します。

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

row1_1 = CSV::Row.new(["header1", "header2"], ["row1_1", "row1_2"])
row1_2 = CSV::Row.new(["header1", "header2"], ["row2_1", "row2_2"])
row2_1 = CSV::Row.new(["header1", "header2"],...
...ow1_1", "row1_2"])
row2_2 = CSV::Row.new(["header1", "header2"], ["row2_1", "row2_2"])
table1 = CSV::Table.new([row1_1, row1_2])
table2 = CSV::Table.new([row2_1, row2_2])
table1 == table2 # => true
table2 << CSV::Row.new(["header1", "header2"], ["row3_1", "row3_2"])
table1 == table2 # => false
//}...
<< 1 2 > >>