るりまサーチ (Ruby 2.2.0)

最速Rubyリファレンスマニュアル検索!
81件ヒット [1-81件を表示] (0.035秒)
トップページ > バージョン:2.2.0[x] > クエリ:CSV[x] > クエリ:header[x]

別のキーワード

  1. csv open
  2. csv filter
  3. csv convert
  4. csv header_convert
  5. csv each

ライブラリ

クラス

キーワード

検索結果

CSV#header_convert {|field, field_info| ... } (81772.0)

CSV#convert に似ていますが、ヘッダ行用のメソッドです。

CSV#convert に似ていますが、ヘッダ行用のメソッドです。

このメソッドはヘッダ行を読み込む前に呼び出さなければなりません。

@param name 変換器の名前を指定します。

//emlist[例 name を指定][ruby]{
require "csv"

csv = CSV.new("header1,header2\nrow1_1,row1_2", headers: true)
csv.header_convert(:symbol)
csv.first.headers # => [:header1, :header2]
//}

//emlist[例 ブロックを指定][...

CSV#header_convert {|field| ... } (81772.0)

CSV#convert に似ていますが、ヘッダ行用のメソッドです。

CSV#convert に似ていますが、ヘッダ行用のメソッドです。

このメソッドはヘッダ行を読み込む前に呼び出さなければなりません。

@param name 変換器の名前を指定します。

//emlist[例 name を指定][ruby]{
require "csv"

csv = CSV.new("header1,header2\nrow1_1,row1_2", headers: true)
csv.header_convert(:symbol)
csv.first.headers # => [:header1, :header2]
//}

//emlist[例 ブロックを指定][...

CSV#header_convert(name) (81772.0)

CSV#convert に似ていますが、ヘッダ行用のメソッドです。

CSV#convert に似ていますが、ヘッダ行用のメソッドです。

このメソッドはヘッダ行を読み込む前に呼び出さなければなりません。

@param name 変換器の名前を指定します。

//emlist[例 name を指定][ruby]{
require "csv"

csv = CSV.new("header1,header2\nrow1_1,row1_2", headers: true)
csv.header_convert(:symbol)
csv.first.headers # => [:header1, :header2]
//}

//emlist[例 ブロックを指定][...

CSV#return_headers? -> bool (81697.0)

ヘッダを返す場合は、真を返します。 そうでない場合は、偽を返します。

ヘッダを返す場合は、真を返します。
そうでない場合は、偽を返します。

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

csv = CSV.new("header1,header2\nrow1_1,row1_2", headers: true, return_headers: false)
csv.return_headers? # => false
csv.shift # => #<CSV::Row "header1":"row1_1" "header2":"row1_2">

csv = CSV.new("header1,header2\nrow1_1,row1_2"...

CSV#write_headers? -> bool (81661.0)

ヘッダを出力先に書き込む場合は真を返します。 そうでない場合は偽を返します。

ヘッダを出力先に書き込む場合は真を返します。
そうでない場合は偽を返します。

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

csv = CSV.new("date1,date2\n2018-07-09,2018-07-10")
csv.write_headers? # => nil

header = ["header1", "header2"]
row = ["row1_1", "row1_2"]
result = CSV.generate(headers: header, write_headers: false) do |csv|
csv.write_hea...

絞り込み条件を変える

CSV#headers -> Array | true | nil (81589.0)

nil を返した場合は、ヘッダは使用されません。 真を返した場合は、ヘッダを使用するが、まだ読み込まれていません。 配列を返した場合は、ヘッダは既に読み込まれています。

nil を返した場合は、ヘッダは使用されません。
真を返した場合は、ヘッダを使用するが、まだ読み込まれていません。
配列を返した場合は、ヘッダは既に読み込まれています。

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

csv = CSV.new("header1,header2\nrow1_1,row1_2")
csv.headers # => nil
csv = CSV.new("header1,header2\nrow1_1,row1_2", headers: true)
csv.headers # => true
csv.read
csv.headers # =>...

CSV#header_converters -> Array (81538.0)

現在有効なヘッダ用変換器のリストを返します。

現在有効なヘッダ用変換器のリストを返します。

組込みの変換器は名前を返します。それ以外は、オブジェクトを返します。

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

csv = CSV.new("HEADER1,HEADER2\nrow1_1,row1_2", headers: true, header_converters: CSV::HeaderConverters.keys)
csv.header_converters # => [:downcase, :symbol]
csv.read.to_a # => header2], ["row1_1",...

CSV#header_row? -> bool (81484.0)

次に読み込まれる行が、ヘッダである場合に真を返します。 そうでない場合は、偽を返します。

次に読み込まれる行が、ヘッダである場合に真を返します。
そうでない場合は、偽を返します。

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

csv = CSV.new("header1,header2\nrow1_1,row1_2", headers: true)
csv.header_row? # => true
csv.readline
csv.header_row? # => false
//}

CSV::HeaderConverters -> Hash (81355.0)

このハッシュは名前でアクセスできる組み込みのヘッダ用変換器を保存しています。

このハッシュは名前でアクセスできる組み込みのヘッダ用変換器を保存しています。

CSV#header_convert で使用する変換器として使用できます。
また CSV.new のオプションとして使用することもできます。

: :downcase
ヘッダの文字列に対して String#downcase を呼び出します。
: :symbol
ヘッダの文字列を小文字に変換してから、空白文字列 (\s) をアンダースコアに
置換し、非英数字 (\W) を削除します。最後に String#to_sym を呼び出します。

全ての組み込みのヘッダ用変換器は、実際に変換する前にヘッダのデータ...

CSV.new(data, options = Hash.new) -> CSV (64018.0)

このメソッドは CSV ファイルを読み込んだり、書き出したりするために String か IO のインスタンスをラップします。

このメソッドは CSV ファイルを読み込んだり、書き出したりするために
String か IO のインスタンスをラップします。

ラップされた文字列の先頭から読み込むことになります。
文字列に追記したい場合は CSV.generate を使用してください。
他の位置から処理したい場合はあらかじめそのように設定した StringIO を渡してください。

@param data String か IO のインスタンスを指定します。
String のインスタンスを指定した場合、CSV#string を使用して
後からデータを取り出すことが出来ます。...

絞り込み条件を変える

CSV#read -> [Array] | CSV::Table (63625.0)

残りの行を読み込んで配列の配列を返します。 self の生成時に headers オプションに偽でない値が指定されていた場合は CSV::Table オブジェクトを返します。

残りの行を読み込んで配列の配列を返します。
self の生成時に headers オプションに偽でない値が指定されていた場合は CSV::Table オブジェクトを返します。

データソースは読み込み用にオープンされている必要があります。

//emlist[例 headers: false][ruby]{
require "csv"

csv = CSV.new(DATA.read)
csv.read
# => [["header1", "header2"], ["row1_1", "row1_2"], ["row2_1", "row2_2"]]

__END__
header1,head...

CSV#readlines -> [Array] | CSV::Table (63625.0)

残りの行を読み込んで配列の配列を返します。 self の生成時に headers オプションに偽でない値が指定されていた場合は CSV::Table オブジェクトを返します。

残りの行を読み込んで配列の配列を返します。
self の生成時に headers オプションに偽でない値が指定されていた場合は CSV::Table オブジェクトを返します。

データソースは読み込み用にオープンされている必要があります。

//emlist[例 headers: false][ruby]{
require "csv"

csv = CSV.new(DATA.read)
csv.read
# => [["header1", "header2"], ["row1_1", "row1_2"], ["row2_1", "row2_2"]]

__END__
header1,head...

CSV#gets -> Array | CSV::Row (63538.0)

String や IO をラップしたデータソースから一行だけ読み込んで フィールドの配列か CSV::Row のインスタンスを返します。

String や IO をラップしたデータソースから一行だけ読み込んで
フィールドの配列か CSV::Row のインスタンスを返します。

データソースは読み込み用にオープンされている必要があります。

@return ヘッダを使用しない場合は配列を返します。
ヘッダを使用する場合は CSV::Row を返します。

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

csv = CSV.new(DATA.read)
csv.readline # => ["header1", "header2"]
csv.readline # => ["row1_1", "r...

CSV#readline -> Array | CSV::Row (63538.0)

String や IO をラップしたデータソースから一行だけ読み込んで フィールドの配列か CSV::Row のインスタンスを返します。

String や IO をラップしたデータソースから一行だけ読み込んで
フィールドの配列か CSV::Row のインスタンスを返します。

データソースは読み込み用にオープンされている必要があります。

@return ヘッダを使用しない場合は配列を返します。
ヘッダを使用する場合は CSV::Row を返します。

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

csv = CSV.new(DATA.read)
csv.readline # => ["header1", "header2"]
csv.readline # => ["row1_1", "r...

CSV#shift -> Array | CSV::Row (63538.0)

String や IO をラップしたデータソースから一行だけ読み込んで フィールドの配列か CSV::Row のインスタンスを返します。

String や IO をラップしたデータソースから一行だけ読み込んで
フィールドの配列か CSV::Row のインスタンスを返します。

データソースは読み込み用にオープンされている必要があります。

@return ヘッダを使用しない場合は配列を返します。
ヘッダを使用する場合は CSV::Row を返します。

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

csv = CSV.new(DATA.read)
csv.readline # => ["header1", "header2"]
csv.readline # => ["row1_1", "r...

絞り込み条件を変える

CSV::FieldInfo#header -> String | nil (63430.0)

利用可能な場合はヘッダを表す文字列を返します。

利用可能な場合はヘッダを表す文字列を返します。

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

csv = CSV.new("date1,date2\n2018-07-09,2018-07-10", headers: true)
csv.convert do |field,field_info|
p field_info.header
Date.parse(field)
end
p csv.first

# => "date1"
# => "date2"
# => #<CSV::Row "date1":#<Date: 2018-07-09 ((2458309j,...

CSV.filter(input, options = Hash.new) {|row| ... } (63391.0)

このメソッドは CSV データに対して Unix のツール群のようなフィルタを構築 するのに便利です。

このメソッドは CSV データに対して Unix のツール群のようなフィルタを構築
するのに便利です。

与えられたブロックに一行ずつ渡されます。ブロックに渡された行は必要であ
れば変更することができます。ブロックの評価後に行を全て output に書き込
みます。

@param input String か IO のインスタンスを指定します。
デフォルトは ARGF です。

@param output String か IO のインスタンスを指定します。
デフォルトは $stdout です。

@param options ":in...

CSV.filter(input, output, options = Hash.new) {|row| ... } (63391.0)

このメソッドは CSV データに対して Unix のツール群のようなフィルタを構築 するのに便利です。

このメソッドは CSV データに対して Unix のツール群のようなフィルタを構築
するのに便利です。

与えられたブロックに一行ずつ渡されます。ブロックに渡された行は必要であ
れば変更することができます。ブロックの評価後に行を全て output に書き込
みます。

@param input String か IO のインスタンスを指定します。
デフォルトは ARGF です。

@param output String か IO のインスタンスを指定します。
デフォルトは $stdout です。

@param options ":in...

CSV.filter(options = Hash.new) {|row| ... } (63391.0)

このメソッドは CSV データに対して Unix のツール群のようなフィルタを構築 するのに便利です。

このメソッドは CSV データに対して Unix のツール群のようなフィルタを構築
するのに便利です。

与えられたブロックに一行ずつ渡されます。ブロックに渡された行は必要であ
れば変更することができます。ブロックの評価後に行を全て output に書き込
みます。

@param input String か IO のインスタンスを指定します。
デフォルトは ARGF です。

@param output String か IO のインスタンスを指定します。
デフォルトは $stdout です。

@param options ":in...

CSV.table(path, options = Hash.new) -> CSV::Table | [Array] (63376.0)

以下と同等のことを行うメソッドです。

以下と同等のことを行うメソッドです。

//emlist[][ruby]{
CSV.read( path, { headers: true,
converters: :numeric,
header_converters: :symbol }.merge(options) )
//}

@param path ファイル名を指定します。

@param options CSV.new のオプションと同じオプションを指定できます。


@see CSV.read

絞り込み条件を変える

CSV#convert {|field, field_info| ... } (63361.0)

引数 name で指定した変換器かブロックに各フィールドを渡して文字列から別 のオブジェクトへと変換します。

引数 name で指定した変換器かブロックに各フィールドを渡して文字列から別
のオブジェクトへと変換します。

引数 name を指定した場合は、組み込みの CSV::Converters を変換器
として利用するために使います。また、独自の変換器を追加することもできま
す。

ブロックパラメータを一つ受け取るブロックを与えた場合は、そのブロックは
フィールドを受け取ります。ブロックパラメータを二つ受け取るブロックを与
えた場合は、そのブロックは、フィールドと CSV::FieldInfo のインス
タンスを受け取ります。ブロックは変換後の値かフィールドそのものを返さな
ければなりません。
...

CSV#convert {|field| ... } (63361.0)

引数 name で指定した変換器かブロックに各フィールドを渡して文字列から別 のオブジェクトへと変換します。

引数 name で指定した変換器かブロックに各フィールドを渡して文字列から別
のオブジェクトへと変換します。

引数 name を指定した場合は、組み込みの CSV::Converters を変換器
として利用するために使います。また、独自の変換器を追加することもできま
す。

ブロックパラメータを一つ受け取るブロックを与えた場合は、そのブロックは
フィールドを受け取ります。ブロックパラメータを二つ受け取るブロックを与
えた場合は、そのブロックは、フィールドと CSV::FieldInfo のインス
タンスを受け取ります。ブロックは変換後の値かフィールドそのものを返さな
ければなりません。
...

CSV#convert(name) (63361.0)

引数 name で指定した変換器かブロックに各フィールドを渡して文字列から別 のオブジェクトへと変換します。

引数 name で指定した変換器かブロックに各フィールドを渡して文字列から別
のオブジェクトへと変換します。

引数 name を指定した場合は、組み込みの CSV::Converters を変換器
として利用するために使います。また、独自の変換器を追加することもできま
す。

ブロックパラメータを一つ受け取るブロックを与えた場合は、そのブロックは
フィールドを受け取ります。ブロックパラメータを二つ受け取るブロックを与
えた場合は、そのブロックは、フィールドと CSV::FieldInfo のインス
タンスを受け取ります。ブロックは変換後の値かフィールドそのものを返さな
ければなりません。
...

CSV#each {|row| ... } -> nil (63361.0)

各行に対してブロックを評価します。

各行に対してブロックを評価します。

データソースは読み込み用にオープンされていなければなりません。

//emlist[例 CSV.new 時に :header => true を指定した場合][ruby]{
require "csv"

users = <<CSV
id,first name,last name,age
1,taro,tanaka,20
2,jiro,suzuki,18
3,ami,sato,19
4,yumi,adachi,21
CSV
csv = CSV.new(users, headers: true)
csv.each do |row|
p row
end

...

CSV#force_quotes? -> bool (63343.0)

出力される全てのフィールドがクオートされる場合は、真を返します。

出力される全てのフィールドがクオートされる場合は、真を返します。

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

rows = [["header1", "header2"], ["row1_1,", "row1_2"]]
result = CSV.generate(force_quotes: false) do |csv|
rows.each { |row| csv << row }
csv.force_quotes? # => false
end
print result

# => header1,header2
# "row1_1,",row1_2...

絞り込み条件を変える

CSV#skip_blanks? -> bool (63325.0)

真である場合は、空行を読み飛ばします。

真である場合は、空行を読み飛ばします。

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

csv = CSV.new("header1,header2\n\nrow1_1,row1_2")
csv.skip_blanks? # => false
csv.read # => [["header1", "header2"], [], ["row1_1", "row1_2"]]
csv = CSV.new("header1,header2\n\nrow1_1,row1_2", skip_blanks: true)
csv.skip_blanks? # => tr...

CSV#rewind -> 0 (63229.0)

IO#rewind に似ています。CSV#lineno を 0 にします。

IO#rewind に似ています。CSV#lineno を 0 にします。

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

csv = CSV.new("header1,header2\nrow1_1,row1_2")
csv.lineno # => 0
csv.readline
csv.lineno # => 1
csv.rewind
csv.lineno # => 0
//}

@see IO#rewind

CSV#row_sep -> String (63181.0)

行区切り文字列として使用する文字列を返します。

行区切り文字列として使用する文字列を返します。

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

csv = CSV.new("header1,header2|row1_1,row1_2", row_sep: "|")
csv.row_sep # => "|"
csv.read # => [["header1", "header2"], ["row1_1", "row1_2"]]
//}

@see CSV.new

CSV#converters -> Array (63145.0)

現在の変換器のリストを返します。

現在の変換器のリストを返します。

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

csv = CSV.new("header1,header2\nrow1_1,row1_2", converters: CSV::Converters.keys)
csv.converters # => [:integer, :float, :integer, :float, :date, :date_time, :date_time, :integer, :float]
//}

@see CSV::Converters

CSV#lineno -> Integer (63145.0)

このファイルから読み込んだ最終行の行番号を返します。 フィールドに含まれる改行はこの値には影響しません。

このファイルから読み込んだ最終行の行番号を返します。
フィールドに含まれる改行はこの値には影響しません。

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

csv = CSV.new("header1,header2\nrow1_1,row1_2")
csv.lineno # => 0
csv.readline
csv.lineno # => 1
//}

絞り込み条件を変える

CSV#inspect -> String (63127.0)

ASCII 互換文字列で自身の情報を表したものを返します。

ASCII 互換文字列で自身の情報を表したものを返します。

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

csv = CSV.new("header1,header2\nrow1_1,row1_2")
csv.inspect # => "<#CSV io_type:StringIO encoding:UTF-8 lineno:0 col_sep:\",\" row_sep:\"\\n\" quote_char:\"\\\"\">"
//}

CSV#quote_char -> String (63127.0)

フィールドをクオートするのに使用する文字列を返します。

フィールドをクオートするのに使用する文字列を返します。

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

csv = CSV.new("header1,header2\nrow1_1,row1_2", quote_char: "'")
csv.quote_char # => "'"
//}

@see CSV.new

CSV#encoding -> Encoding (63109.0)

読み書きするときに使用するエンコーディングを返します。

読み書きするときに使用するエンコーディングを返します。

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

csv = CSV.new("header1,header2\nrow1_1,row1_2", headers: true)
csv.encoding # => #<Encoding:UTF-8>
//}

CSV::DEFAULT_OPTIONS -> Hash (63019.0)

このオプションは呼び出し側で上書きしなかったときに使用するオプションです。

このオプションは呼び出し側で上書きしなかったときに使用するオプションです。

: :col_sep
","
: :row_sep
:auto
: :quote_char
'"'
: :field_size_limit
nil
: :converters
nil
: :unconverted_fields
nil
: :headers
false
: :return_headers
false
: :header_converters
nil
: :skip_blanks
false
: :force_quotes
false
: :skip_lin...

CSV::Row#header_row? -> bool (27502.0)

ヘッダ行であれば真を返します。そうでなければ偽を返します。

ヘッダ行であれば真を返します。そうでなければ偽を返します。

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

header_row = CSV::Row.new(["header1", "header2"], [], true)
row = CSV::Row.new(["header1", "header2"], [1, 2])
header_row.header_row? # => true
row.header_row? # => false
//}

絞り込み条件を変える

CSV::Row#to_csv -> String (27460.0)

自身を CSV な文字列として返します。ヘッダは使用しません。

自身を CSV な文字列として返します。ヘッダは使用しません。

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

row = CSV::Row.new(["header1", "header2"], [1, 2])
row.to_csv # => "1,2\n"
row.to_csv( {col_sep: "|", row_sep: "<br>"} ) # => "1|2<br>"
//}

CSV::Row#header?(name) -> bool (27448.0)

自身のヘッダに与えられた値が含まれている場合は真を返します。 そうでない場合は偽を返します。

自身のヘッダに与えられた値が含まれている場合は真を返します。
そうでない場合は偽を返します。

@param name この行のヘッダに含まれているかどうか調べたい値を指定します。

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

row = CSV::Row.new(["header1", "header2"], [1, 2])
row.header?("header1") # => true
row.header?("header3") # => false
//}

CSV::Table#headers -> Array (27427.0)

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

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

テーブルが空である場合は空の配列を返します。

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

row = CSV::Row.new(["header1", "header2"], ["row1_1", "row1_2"])
table = CSV::Table.new([row])
table.headers # => ["header1", "header2"]
//}

CSV::Row#headers -> Array (27409.0)

この行のヘッダのリストを返します。

この行のヘッダのリストを返します。

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

row = CSV::Row.new(["header1", "header2"], [1, 2])
row.headers # => ["header1", "header2"]
//}

CSV::FieldInfo#header=(val) (27304.0)

ヘッダを表す文字列をセットします。

ヘッダを表す文字列をセットします。

@param val ヘッダを表す文字列を指定します。

絞り込み条件を変える

CSV::Row#to_s -> String (18160.0)

自身を CSV な文字列として返します。ヘッダは使用しません。

自身を CSV な文字列として返します。ヘッダは使用しません。

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

row = CSV::Row.new(["header1", "header2"], [1, 2])
row.to_csv # => "1,2\n"
row.to_csv( {col_sep: "|", row_sep: "<br>"} ) # => "1|2<br>"
//}

CSV::Row#include?(name) -> bool (18148.0)

自身のヘッダに与えられた値が含まれている場合は真を返します。 そうでない場合は偽を返します。

自身のヘッダに与えられた値が含まれている場合は真を返します。
そうでない場合は偽を返します。

@param name この行のヘッダに含まれているかどうか調べたい値を指定します。

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

row = CSV::Row.new(["header1", "header2"], [1, 2])
row.header?("header1") # => true
row.header?("header3") # => false
//}

CSV::Row.new(headers, fields, header_row = false) -> CSV::Row (10375.0)

自身を初期化します。

自身を初期化します。

一方の配列が他方の配列よりも短い場合、不足しているところは nil になります。

@param headers ヘッダの配列を指定します。

@param fields フィールドの配列を指定します。

@param header_row ヘッダ行である場合は真を指定します。そうでない場合は偽を指定します。
デフォルトは偽です。

//emlist[例 header_row = true のケース][ruby]{
require "csv"

header = CSV::Row.new(["header1", "header2"]...

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

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

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

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

@param index ミックスモード・ロウモードでは、取得したい行の行番号を整数で指定します。
カラムモードでは、取得したい列の列番号を整数で指定します。
@param range 取得したい範囲を整数の範囲で指定します。
@param header 取得...

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

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

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

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

@param index ミックスモード・ロウモードでは、取得したい行の行番号を整数で指定します。
カラムモードでは、取得したい列の列番号を整数で指定します。
@param range 取得したい範囲を整数の範囲で指定します。
@param header 取得...

絞り込み条件を変える

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

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

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

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

@param index ミックスモード・ロウモードでは、取得したい行の行番号を整数で指定します。
カラムモードでは、取得したい列の列番号を整数で指定します。
@param range 取得したい範囲を整数の範囲で指定します。
@param header 取得...

CSV::Row#delete(header_or_index, minimum_index = 0) -> [object, object] | nil (9916.0)

ヘッダの名前かインデックスで行からフィールドを削除するために使用します。

ヘッダの名前かインデックスで行からフィールドを削除するために使用します。

@param header_or_index ヘッダの名前かインデックスを指定します。

@param minimum_index このインデックスより後で、ヘッダの名前を探します。
重複しているヘッダがある場合に便利です。

@return 削除したヘッダとフィールドの組を返します。削除対象が見つからなかった場合は nil を返します。

//emlist[例 ヘッダの名前で指定][ruby]{
require "csv"

row = CSV::Row.new(["hea...

CSV::Row#[]=(header_or_index, value) (9835.0)

ヘッダの名前かインデックスでフィールドを探し、値をセットします。

ヘッダの名前かインデックスでフィールドを探し、値をセットします。

末尾より後ろのインデックスを指定すると、ヘッダの名前は nil になります。
存在しないヘッダを指定すると、新しい要素を末尾に追加します。

@param header_or_index ヘッダの名前かインデックスを指定します。

@param value 値を指定します。

//emlist[例 ヘッダの名前で指定][ruby]{
require "csv"

row = CSV::Row.new(["header1", "header2"], ["row1_1", "row1_2"])

row["header1"] ...

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

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

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

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

行には配列か CSV::Row のインスタンスを指定します。

列に値を一つだけ指定した場合は、全ての行にその値をコピーします。配列を
指定した場合は、上から順に値を割り当てます。余分な値は無視します。また、
値が不足している場合は nil を割り当てます。

既存の行または列のデータ...

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

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

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

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

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

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

row1 = CSV::Row.new(["header1", "header2"], ["row1_1", "row1_2"])
r...

絞り込み条件を変える

CSV::Table#by_row -> CSV::Table (9640.0)

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

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

元のテーブルモードを変更せずにメソッドチェーンできるので便利です。しか
し、大きなデータセットに対しても同じだけメモリを消費するので気をつけて
ください。

このメソッドは複製したテーブルを返すので、破壊的なメソッドはメソッド
チェーンに組込まないようにしてください。

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

row1 = CSV::Row.new(["header1", "header2"], ["row1_1", "row1_2"])
row2 = CSV::Row.new(["h...

CSV::Table#each {|column_name, values| ... } -> self (9595.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"])
row3 = CSV::Row.new(["header1", "header2"], ["row3...

CSV::Table#each {|row| ... } -> self (9595.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"])
row3 = CSV::Row.new(["header1", "header2"], ["row3...

CSV::Row#delete_if {|header, field| ... } -> self (9592.0)

与えられたブロックにヘッダとフィールドのペアを渡して評価します。 評価した結果が真である場合に、その組を自身から削除します。

与えられたブロックにヘッダとフィールドのペアを渡して評価します。
評価した結果が真である場合に、その組を自身から削除します。

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

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

row = CSV::Row.new(["header1", "header2", "header3", "header4"], ["valid1", "valid2", "invalid", "valid4"])

row # => #<CSV::Row "header1":"valid1" "header2":"valid2" "hea...

CSV::Table#delete(index_or_header) -> object (9574.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(["header1",...

絞り込み条件を変える

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

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

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

元のテーブルモードを変更せずにメソッドチェーンできるので便利です。しか
し、大きなデータセットに対しても同じだけメモリを消費するので気をつけて
ください。

このメソッドは複製したテーブルを返すので、破壊的なメソッドはメソッド
チェーンに組込まないようにしてください。

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

row1 = CSV::Row.new(["header1", "header2"], ["row1_1", "row1_2"])
row2 = CSV::Row.new([...

CSV::Row#each {|header, field| ... } -> self (9520.0)

与えられたブロックにヘッダとフィールドの組を渡して評価します。

与えられたブロックにヘッダとフィールドの組を渡して評価します。

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

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

row = CSV::Row.new(["header1", "header2", "header3", "header4"], [1, 2, 3, 4])
row.each { |header, field| puts "#{header} - #{field}" }

# => header1 - 1
# => header2 - 2
# => header3 - 3
# => header4 -...

CSV::Table.new(array_of_rows) -> CSV::Table (9502.0)

自身を初期化します。

自身を初期化します。

全ての行が同じヘッダを持つことを仮定しています。

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

//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.to_...

CSV::Table#by_col -> CSV::Table (9496.0)

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

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

元のテーブルモードを変更せずにメソッドチェーンできるので便利です。しか
し、大きなデータセットに対しても同じだけメモリを消費するので気をつけて
ください。

このメソッドは複製したテーブルを返すので、破壊的なメソッドはメソッド
チェーンに組込まないようにしてください。

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

row1 = CSV::Row.new(["header1", "header2"], ["row1_1", "row1_2"])
row2 = CSV::Row.new(["...

CSV::Row#[](header_or_index, minimum_index = 0) -> object | nil (9469.0)

ヘッダの名前かインデックスで値を取得します。フィールドが見つからなかった場合は nil を返します。

ヘッダの名前かインデックスで値を取得します。フィールドが見つからなかった場合は nil を返します。

@param header_or_index ヘッダの名前かインデックスを指定します。

@param minimum_index このインデックスより後で、ヘッダの名前を探します。
重複しているヘッダがある場合に便利です。

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

row = CSV::Row.new(["header1", "header2"], ["row1_1", "row1_2"])

row.field("h...

絞り込み条件を変える

CSV::Row#field(header_or_index, minimum_index = 0) -> object | nil (9469.0)

ヘッダの名前かインデックスで値を取得します。フィールドが見つからなかった場合は nil を返します。

ヘッダの名前かインデックスで値を取得します。フィールドが見つからなかった場合は nil を返します。

@param header_or_index ヘッダの名前かインデックスを指定します。

@param minimum_index このインデックスより後で、ヘッダの名前を探します。
重複しているヘッダがある場合に便利です。

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

row = CSV::Row.new(["header1", "header2"], ["row1_1", "row1_2"])

row.field("h...

CSV::Row#index(header, minimum_index = 0) -> Integer (9466.0)

与えられたヘッダの名前に対応するインデックスを返します。

与えられたヘッダの名前に対応するインデックスを返します。

@param header ヘッダの名前を指定します。

@param minimum_index このインデックスより後で、ヘッダの名前を探します。
重複しているヘッダがある場合に便利です。

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

row = CSV::Row.new(["header1", "header2", "header1"], [1, 2, 3])
row.index("header1") # => 0
row.index("header1",...

CSV::Row#[]=(header, offset, value) (9430.0)

ヘッダの名前でフィールドを探し、値をセットします。

ヘッダの名前でフィールドを探し、値をセットします。

@param header ヘッダの名前を指定します。

@param offset このインデックスより後で、ヘッダの名前を探します。
重複しているヘッダがある場合に便利です。

@param value 値を指定します。

@see CSV::Row#field

CSV::Row#fields(*headers_and_or_indices) -> Array (9391.0)

与えられた引数に対応する値の配列を返します。

与えられた引数に対応する値の配列を返します。

要素の探索に CSV::Row.field を使用しています。

@param headers_and_or_indices ヘッダの名前かインデックスか Range
のインスタンスか第 1 要素がヘッダの名前で
第 2 要素がオフセットになっている 2 要素
の配列をいくつでも指定します。混在するこ
とがで...

CSV::Row#values_at(*headers_and_or_indices) -> Array (9391.0)

与えられた引数に対応する値の配列を返します。

与えられた引数に対応する値の配列を返します。

要素の探索に CSV::Row.field を使用しています。

@param headers_and_or_indices ヘッダの名前かインデックスか Range
のインスタンスか第 1 要素がヘッダの名前で
第 2 要素がオフセットになっている 2 要素
の配列をいくつでも指定します。混在するこ
とがで...

絞り込み条件を変える

CSV::Table#delete_if {|column_name, values| ... } -> self (9361.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(["...

CSV::Table#delete_if {|row| ... } -> self (9361.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(["...

CSV::Table#==(other) -> bool (9343.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"], ["ro...

CSV::Table#by_row! -> self (9289.0)

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

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

再びモードが変更されるまで、いくつかのメソッドは行単位で動きます。

@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, row2])
table ...

CSV::Row#<<(arg) -> self (9217.0)

自身に与えられたデータを追加します。

自身に与えられたデータを追加します。

@param arg 2 要素の配列か 1 要素のハッシュか任意のオブジェクトを指定します。
2 要素の配列を与えた場合は、ヘッダとフィールドのペアを追加します。
1 要素のハッシュを与えた場合は、キーをヘッダ、値をフィールドとして追加します。
それ以外の場合は、ヘッダを nil 、フィールドを与えられた値として追加します。

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

//emlist[例 2要素の配列を指定][ruby]{
require "csv"

row = C...

絞り込み条件を変える

CSV::Table#<<(row_or_array) -> self (9217.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"...

CSV::Table#by_col_or_row! -> self (9181.0)

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

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

再びモードが変更されるまで、いくつかのメソッドはミックスモードで動きます。

デフォルトのミックスモードではインデックスによるアクセスは行単位での参
照であると見なします。しかし、他の方法ではヘッダによる列単位での参照で
あると見なします。

@return 必ず自身を返すので安全にメソッドチェーンできます。

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

row1 = CSV::Row.new(["header1", "header2"], ["row1_1", "row1_2"])
row2 = CSV::Row.new(["h...

CSV::Table#to_a -> [Array] (9181.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.to_a # => [["header1", "header2"], ["row1_1", "...

CSV::Row#==(other) -> bool (9163.0)

自身が other と同じヘッダやフィールドを持つ場合に真を返します。 そうでない場合は偽を返します。

自身が other と同じヘッダやフィールドを持つ場合に真を返します。
そうでない場合は偽を返します。

@param other 比較対象の CSV::Row のインスタンスを指定します。

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

row1 = CSV::Row.new(["header1", "header2"], ["row1_1", "row1_2"])
row2 = CSV::Row.new(["header1", "header2"], ["row1_1", "row1_2"])

row1 == row2 # => true
row2 << ["he...

CSV::Row#field_row? -> bool (9163.0)

フィールド行であれば真を返します。そうでなければ偽を返します。

フィールド行であれば真を返します。そうでなければ偽を返します。

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

header_row = CSV::Row.new(["header1", "header2"], [], true)
row = CSV::Row.new(["header1", "header2"], [1, 2])
header_row.field_row? # => false
row.field_row? # => true
//}

絞り込み条件を変える

CSV::Row#inspect -> String (9163.0)

ASCII 互換であるエンコーディングの文字列で自身の情報を返します。

ASCII 互換であるエンコーディングの文字列で自身の情報を返します。

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

row = CSV::Row.new(["header1", "header2", "header1"], [1, 2, 3])
row.inspect # => "#<CSV::Row \"header1\":1 \"header2\":2 \"header1\":3>"
//}

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

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

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

再びモードが変更されるまで、いくつかのメソッドはカラム単位で動きます。

@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, row2])
table....

CSV::Row#to_hash -> Hash (9127.0)

自身をシンプルなハッシュに変換します。

自身をシンプルなハッシュに変換します。

フィールドの順序は無視されます。
重複したフィールドは削除されます。

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

row = CSV::Row.new(["header2", "header1", "header2"], [1, 2, 3])
row.to_hash # => {"header2"=>3, "header1"=>2}
//}

CSV::Row#field?(data) -> bool (9109.0)

自身に与えられた値が含まれている場合は真を返します。 そうでない場合は偽を返します。

自身に与えられた値が含まれている場合は真を返します。
そうでない場合は偽を返します。

@param data この行に含まれているかどうか調べたい値を指定します。

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

row = CSV::Row.new(["header1", "header2", "header3", "header4"], [1, 2, 3, 4])
row.field?(1) # => true
row.field?(5) # => false
//}

CSV::Table#mode -> Symbol (9091.0)

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

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

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

row = CSV::Row.new(["header1", "header2"], ["row1_1", "row1_2"])
table = CSV::Table.new([row])
table.mode # => :col_or_row
table.by_col!
table.mode # => :col
//}

絞り込み条件を変える

NEWS for Ruby 2.0.0 (163.0)

NEWS for Ruby 2.0.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。

NEWS for Ruby 2.0.0
このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。

それぞれのエントリーは参照情報があるため短いです。
十分な情報と共に書かれた全ての変更のリストは ChangeLog ファイルか bugs.ruby-lang.org の issue を参照してください。

== 1.9.3 以降の変更

=== 言語仕様の変更

* キーワード引数を追加しました
* %i, %I をシンボルの配列作成のために追加しました。(%w, %W に似ています)
* デフォルトのソースエンコーディングを US-ASCI...