種類
- インスタンスメソッド (102)
- 特異メソッド (16)
- クラス (3)
- 定数 (1)
クラス
- CSV (62)
-
CSV
:: FieldInfo (6) -
CSV
:: Row (21) -
CSV
:: Table (30)
キーワード
- << (3)
- == (2)
-
DEFAULT
_ OPTIONS (1) - FieldInfo (1)
- MalformedCSVError (1)
- Table (1)
- [] (4)
- []= (3)
-
add
_ row (1) - binmode (1)
- binmode? (1)
-
by
_ col (1) -
by
_ col! (1) -
by
_ col _ or _ row (1) -
by
_ col _ or _ row! (1) -
by
_ row (1) -
by
_ row! (1) - close (1)
-
close
_ read (1) -
close
_ write (1) - closed? (1)
-
col
_ sep (1) - convert (2)
- delete (2)
-
delete
_ if (3) - each (4)
- empty? (2)
- eof (1)
- eof? (1)
-
external
_ encoding (1) - fcntl (1)
- field (1)
- field? (1)
-
field
_ row? (1) -
field
_ size _ limit (1) - fields (1)
- fileno (1)
- filter (3)
- flock (1)
- flush (1)
-
force
_ quotes? (1) - foreach (1)
- fsync (1)
-
generate
_ line (1) - header (1)
- header= (1)
- header? (1)
-
header
_ convert (2) -
header
_ row? (2) - headers (2)
- include? (1)
- index (1)
- index= (1)
- inspect (1)
-
internal
_ encoding (1) - ioctl (1)
- isatty (1)
- length (2)
- line (1)
- line= (1)
- lineno (1)
- mode (1)
- new (2)
- open (4)
- parse (1)
-
parse
_ line (1) - pid (1)
- push (2)
- puts (1)
- read (2)
- readline (1)
- readlines (2)
- reopen (1)
-
return
_ headers? (1) - size (2)
-
skip
_ blanks? (1) - stat (1)
- sync (1)
- table (2)
- tell (1)
-
to
_ a (1) -
to
_ csv (1) -
to
_ i (1) -
to
_ io (1) -
to
_ s (1) - truncate (1)
- tty? (1)
-
unconverted
_ fields? (1) -
values
_ at (2) -
write
_ headers? (1)
検索結果
先頭5件
-
CSV
# to _ io -> self (307.0) -
IO#to_io に委譲します。
IO#to_io に委譲します。
@see IO#to_io -
CSV
# truncate(path , length) -> 0 (307.0) -
File#truncate に委譲します。
File#truncate に委譲します。
@see File#truncate -
CSV
# tty? -> bool (307.0) -
IO#isatty, IO#tty? に委譲します。
IO#isatty, IO#tty? に委譲します。
@see IO#isatty, IO#tty? -
CSV
# write _ headers? -> bool (307.0) -
ヘッダを出力先に書き込む場合は真を返します。 そうでない場合は偽を返します。
...st[例][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_headers? # => false
csv << row
end
result # =>......"row1_1,row1_2\n"
result = CSV.generate(headers: header, write_headers: true) do |csv|
csv.write_headers? # => true
csv << row
end
result # => "header1,header2\nrow1_1,row1_2\n"
//}
@see CSV.new... -
CSV
. foreach(path , options = Hash . new) {|row| . . . } -> nil (307.0) -
このメソッドは CSV ファイルを読むための主要なインターフェイスです。 各行が与えられたブロックに渡されます。
...ドは CSV ファイルを読むための主要なインターフェイスです。
各行が与えられたブロックに渡されます。
//emlist[例][ruby]{
require 'csv'
# UTF-32BE な CSV ファイルを読み込んで UTF-8 な row をブロックに渡します
CSV.foreach("a.csv", encod......ing: "UTF-32BE:UTF-8"){|row| p row }
//}
@param path CSV ファイルのパスを指定します。
@param options CSV.new のオプションと同じオプションを指定できます。
:encoding というキーを使用すると入出力のエンコーディングを指定す......ることができます。
Encoding.default_external と異なるエンコーディングを持つ入力を使用する場合は、
必ずエンコーディングを指定してください。
@see CSV.new, File.open... -
CSV
. open(filename , mode = "rb" , options = Hash . new) -> CSV (307.0) -
このメソッドは IO オブジェクトをオープンして CSV でラップします。 これは CSV ファイルを書くための主要なインターフェイスとして使うことを意図しています。
...ンして CSV でラップします。
これは CSV ファイルを書くための主要なインターフェイスとして使うことを意図しています。
このメソッドは IO.open と同じように動きます。ブロックが与えられた場合は
ブロックに CSV オブジ......た場合は CSV オブジェクトを返します。
データが Encoding.default_external と異なる場合は、mode にエンコー
ディングを指定する文字列を埋め込まなければなりません。データをどのよう
に解析するか決定するために CSV ライブ......UTF-8 に変換してから解析します。
また "rb:BOM|UTF-8" のように mode を指定すると BOM を自動的に取り除きま
す。
CSV オブジェクトは多くのメソッドを IO や File に委譲します。
* IO#binmode
* IO#binmode?
* IO#close
* IO#close_read
*... -
CSV
. open(filename , mode = "rb" , options = Hash . new) {|csv| . . . } -> nil (307.0) -
このメソッドは IO オブジェクトをオープンして CSV でラップします。 これは CSV ファイルを書くための主要なインターフェイスとして使うことを意図しています。
...ンして CSV でラップします。
これは CSV ファイルを書くための主要なインターフェイスとして使うことを意図しています。
このメソッドは IO.open と同じように動きます。ブロックが与えられた場合は
ブロックに CSV オブジ......た場合は CSV オブジェクトを返します。
データが Encoding.default_external と異なる場合は、mode にエンコー
ディングを指定する文字列を埋め込まなければなりません。データをどのよう
に解析するか決定するために CSV ライブ......UTF-8 に変換してから解析します。
また "rb:BOM|UTF-8" のように mode を指定すると BOM を自動的に取り除きま
す。
CSV オブジェクトは多くのメソッドを IO や File に委譲します。
* IO#binmode
* IO#binmode?
* IO#close
* IO#close_read
*... -
CSV
. open(filename , options = Hash . new) -> CSV (307.0) -
このメソッドは IO オブジェクトをオープンして CSV でラップします。 これは CSV ファイルを書くための主要なインターフェイスとして使うことを意図しています。
...ンして CSV でラップします。
これは CSV ファイルを書くための主要なインターフェイスとして使うことを意図しています。
このメソッドは IO.open と同じように動きます。ブロックが与えられた場合は
ブロックに CSV オブジ......た場合は CSV オブジェクトを返します。
データが Encoding.default_external と異なる場合は、mode にエンコー
ディングを指定する文字列を埋め込まなければなりません。データをどのよう
に解析するか決定するために CSV ライブ......UTF-8 に変換してから解析します。
また "rb:BOM|UTF-8" のように mode を指定すると BOM を自動的に取り除きま
す。
CSV オブジェクトは多くのメソッドを IO や File に委譲します。
* IO#binmode
* IO#binmode?
* IO#close
* IO#close_read
*... -
CSV
. open(filename , options = Hash . new) {|csv| . . . } -> nil (307.0) -
このメソッドは IO オブジェクトをオープンして CSV でラップします。 これは CSV ファイルを書くための主要なインターフェイスとして使うことを意図しています。
...ンして CSV でラップします。
これは CSV ファイルを書くための主要なインターフェイスとして使うことを意図しています。
このメソッドは IO.open と同じように動きます。ブロックが与えられた場合は
ブロックに CSV オブジ......た場合は CSV オブジェクトを返します。
データが Encoding.default_external と異なる場合は、mode にエンコー
ディングを指定する文字列を埋め込まなければなりません。データをどのよう
に解析するか決定するために CSV ライブ......UTF-8 に変換してから解析します。
また "rb:BOM|UTF-8" のように mode を指定すると BOM を自動的に取り除きま
す。
CSV オブジェクトは多くのメソッドを IO や File に委譲します。
* IO#binmode
* IO#binmode?
* IO#close
* IO#close_read
*... -
CSV
. parse(str , options = Hash . new) {|row| . . . } -> nil (307.0) -
このメソッドは文字列を簡単にパースすることができます。 ブロックを与えた場合は、ブロックにそれぞれの行を渡します。 ブロックを省略した場合は、配列の配列を返します。
...文字列を指定します。
@param options CSV.new のオプションと同じオプションを指定できます。
//emlist[例][ruby]{
require 'csv'
require 'pp'
s = <<EOS
id,first name,last name,age
1,taro,tanaka,20
2,jiro,suzuki,18
EOS
pp CSV.parse(s)
# => [["id", "first name", "last na......"jiro", "suzuki", "18"]]
CSV.parse(s, headers: true).each do |row|
p [row['first name'], row['age']]
end
# => ["taro", "20"]
# ["jiro", "18"]
//}
//emlist[例][ruby]{
require "csv"
csv = "id|first name|last name|age\n1|taro|tanaka|20\n2|jiro|suzuki|18"
CSV.parse(csv, col_sep: '|') do |row|... -
CSV
. read(path , options = Hash . new) -> [Array] | CSV :: Table (307.0) -
CSV ファイルを配列の配列にするために使います。 headers オプションに偽でない値を指定した場合は CSV::Table オブジェクトを返します。
...
CSV ファイルを配列の配列にするために使います。
headers オプションに偽でない値を指定した場合は CSV::Table オブジェクトを返します。
@param path CSV ファイルのパスを指定します。
@param options CSV.new のオプションと同じオプ......しなければなりません。
//emlist[例][ruby]{
require "csv"
require "pp"
File.write("test.csv", <<CSV)
id,first name,last name,age
1,taro,tanaka,20
2,jiro,suzuki,18
3,ami,sato,19
4,yumi,adachi,21
CSV
pp CSV.read("test.csv")
# => [["id", "first name", "last name", "age"],
# ["1", "tar....../}
//emlist[例][ruby]{
require "csv"
File.write("test.csv", <<CSV)
id,first name,last name,age
1,taro,tanaka,20
2,jiro,suzuki,18
3,ami,sato,19
4,yumi,adachi,21
CSV
table = CSV.read("test.csv", headers: true)
p table.class # => CSV::Table
p table[0] # => #<CSV::Row "id":"1" "first name":"taro"... -
CSV
:: Row # <<(arg) -> self (307.0) -
自身に与えられたデータを追加します。
...の配列を指定][ruby]{
require "csv"
row = CSV::Row.new([], [], true)
row << ["header1", "row1_1"]
row << ["header2", "row1_2"]
row.to_a # => [["header1", "row1_1"], ["header2", "row1_2"]]
//}
//emlist[例 Hash を指定][ruby]{
require "csv"
row = CSV::Row.new([], [], true)
row << { "heade... -
CSV
:: Row # ==(other) -> bool (307.0) -
自身が 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 == row... -
CSV
:: Row # [](header _ or _ index , minimum _ index = 0) -> object | nil (307.0) -
ヘッダの名前かインデックスで値を取得します。フィールドが見つからなかった場合は nil を返します。
...の名前を探します。
重複しているヘッダがある場合に便利です。
//emlist[例][ruby]{
require "csv"
row = CSV::Row.new(["header1", "header2"], ["row1_1", "row1_2"])
row.field("header1") # => "row1_1"
row.field("header2") # => "row1_2"
row["header1"]... -
CSV
:: Row # []=(header , offset , value) (307.0) -
ヘッダの名前でフィールドを探し、値をセットします。
...トします。
@param header ヘッダの名前を指定します。
@param offset このインデックスより後で、ヘッダの名前を探します。
重複しているヘッダがある場合に便利です。
@param value 値を指定します。
@see CSV::Row#field... -
CSV
:: Row # []=(header _ or _ index , value) (307.0) -
ヘッダの名前かインデックスでフィールドを探し、値をセットします。
...前で指定][ruby]{
require "csv"
row = CSV::Row.new(["header1", "header2"], ["row1_1", "row1_2"])
row["header1"] # => "row1_1"
row["header1"] = "updated"
row["header1"] # => "updated"
//}
//emlist[例 ヘッダの index で指定][ruby]{
require "csv"
row = CSV::Row.new(["header1", "header2"......"csv"
row = CSV::Row.new(["header1", "header2", "header1"], ["row1_1", "row1_2", "row1_3"])
row # => #<CSV::Row "header1":"row1_1" "header2":"row1_2" "header1":"row1_3">
row["header1", 1] = "updated"
row # => #<CSV::Row "header1":"row1_1" "header2":"row1_2" "header1":"updated">
//}
@see CSV::... -
CSV
:: Row # each {|header , field| . . . } -> self (307.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... -
CSV
:: Row # empty? -> bool (307.0) -
内部で保持している @row へ委譲します。
内部で保持している @row へ委譲します。 -
CSV
:: Row # header?(name) -> bool (307.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 # header _ row? -> bool (307.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 # push(*args) -> self (307.0) -
複数のフィールドを追加するためのショートカットです。
...複数のフィールドを追加するためのショートカットです。
以下とおなじです:
args.each { |arg| csv_row << arg }
@return メソッドチェーンのために自身を返します。... -
CSV
:: Row . new(headers , fields , header _ row = false) -> CSV :: Row (307.0) -
自身を初期化します。
..."csv"
header = CSV::Row.new(["header1", "header2"], [], header_row: true)
table = CSV::Table.new([header])
table.to_a # => [["header1", "header2"]]
//}
//emlist[例 header_row = false のケース][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", "row1_2"], ["row2_1", "row2_2"]]
//}
@see CSV::Row#header_row?, CSV::Row#field_row?...