るりまサーチ (Ruby 2.2.0)

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

別のキーワード

  1. io popen
  2. io pipe
  3. io each
  4. io readlines
  5. io each_line

クラス

キーワード

検索結果

CSV::DEFAULT_OPTIONS -> Hash (36607.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.open(filename, mode = "rb", options = Hash.new) -> CSV (1249.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 (1249.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 (1249.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 (1249.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.new(data, options = Hash.new) -> CSV (691.0)

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

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

ラップされた文字列の先頭から読み込むことになります。
文字列に追記したい場合は CSV.generate を使用し...
...ンスを指定します。
String のインスタンスを指定した場合、CSV#string を使用して
後からデータを取り出すことが出来ます。

@param options CSV をパースするためのオプションをハッシュで指定します。...
...ション
で便利です。
CSV
will always consider a double sequence this character to be an
escaped quote.
この文字列はパースする前にデータのエンコーディングに変換されます。
: :field_size_limit
This is a maximum size CSV will read ahead looking for th...

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

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

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

与えられたブロックに一行ずつ渡されます。ブロックに渡された行は必要であ
れば変更することができます。ブロックの評...
...list[例: input, output は初期値][ruby]{
# $ echo "header1,header2\nrow1_1,row1_2" > in.csv; ruby test.rb in.csv

require "csv"

options = { headers: true, return_headers: true, write_headers: true }

CSV
.filter(options) do |row|
if row.header_row?
row << "header3"
next
end
row <<...
...y]{
require "csv"
content = <<EOS
id,first name,last name,age
1,taro,tanaka,20
2,jiro,suzuki,18
3,ami,sato,19
4,yumi,adachi,21
EOS

File.write('test.csv',content)
options = { headers: true, return_headers: true, write_headers: true }

CSV
.filter(File.open("test.csv"), File.open("out.csv", "w"), opti...

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

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

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

与えられたブロックに一行ずつ渡されます。ブロックに渡された行は必要であ
れば変更することができます。ブロックの評...
...list[例: input, output は初期値][ruby]{
# $ echo "header1,header2\nrow1_1,row1_2" > in.csv; ruby test.rb in.csv

require "csv"

options = { headers: true, return_headers: true, write_headers: true }

CSV
.filter(options) do |row|
if row.header_row?
row << "header3"
next
end
row <<...
...y]{
require "csv"
content = <<EOS
id,first name,last name,age
1,taro,tanaka,20
2,jiro,suzuki,18
3,ami,sato,19
4,yumi,adachi,21
EOS

File.write('test.csv',content)
options = { headers: true, return_headers: true, write_headers: true }

CSV
.filter(File.open("test.csv"), File.open("out.csv", "w"), opti...

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

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

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

与えられたブロックに一行ずつ渡されます。ブロックに渡された行は必要であ
れば変更することができます。ブロックの評...
...list[例: input, output は初期値][ruby]{
# $ echo "header1,header2\nrow1_1,row1_2" > in.csv; ruby test.rb in.csv

require "csv"

options = { headers: true, return_headers: true, write_headers: true }

CSV
.filter(options) do |row|
if row.header_row?
row << "header3"
next
end
row <<...
...y]{
require "csv"
content = <<EOS
id,first name,last name,age
1,taro,tanaka,20
2,jiro,suzuki,18
3,ami,sato,19
4,yumi,adachi,21
EOS

File.write('test.csv',content)
options = { headers: true, return_headers: true, write_headers: true }

CSV
.filter(File.open("test.csv"), File.open("out.csv", "w"), opti...

CSV.instance(data = $stdout, options = Hash.new) -> CSV (625.0)

このメソッドは CSV.new のように CSV のインスタンスを返します。 しかし、返される値は Object#object_id と与えられたオプションを キーとしてキャッシュされます。

...このメソッドは CSV.new のように CSV のインスタンスを返します。
しかし、返される値は Object#object_id と与えられたオプションを
キーとしてキャッシュされます。

ブロックが与えられた場合、生成されたインスタンスをブ...
...ns CSV.new のオプションと同じオプションを指定できます。

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

options = { headers: true }

text =<<-EOS
id,first name,last name,age
1,taro,tanaka,20
2,jiro,suzuki,18
3,ami,sato,19
4,yumi,adachi,21
EOS

csv
= CSV.instance(text, options)
csv
2 = CSV....
...instance(text, options)
csv
.object_id == csv2.object_id # => true
print csv.read

# => id,first name,last name,age
# 1,taro,tanaka,20
# 2,jiro,suzuki,18
# 3,ami,sato,19
# 4,yumi,adachi,21
//}

@see CSV.new...

絞り込み条件を変える

CSV.instance(data = $stdout, options = Hash.new) {|csv| ... } -> object (625.0)

このメソッドは CSV.new のように CSV のインスタンスを返します。 しかし、返される値は Object#object_id と与えられたオプションを キーとしてキャッシュされます。

...このメソッドは CSV.new のように CSV のインスタンスを返します。
しかし、返される値は Object#object_id と与えられたオプションを
キーとしてキャッシュされます。

ブロックが与えられた場合、生成されたインスタンスをブ...
...ns CSV.new のオプションと同じオプションを指定できます。

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

options = { headers: true }

text =<<-EOS
id,first name,last name,age
1,taro,tanaka,20
2,jiro,suzuki,18
3,ami,sato,19
4,yumi,adachi,21
EOS

csv
= CSV.instance(text, options)
csv
2 = CSV....
...instance(text, options)
csv
.object_id == csv2.object_id # => true
print csv.read

# => id,first name,last name,age
# 1,taro,tanaka,20
# 2,jiro,suzuki,18
# 3,ami,sato,19
# 4,yumi,adachi,21
//}

@see CSV.new...

Array#to_csv(**options) -> String (607.0)

CSV.generate_line(self, options) と同様です。

...
CSV
.generate_line(self, options) と同様です。

Array オブジェクトを 1 行の CSV 文字列に変換するためのショートカットです。

@param options CSV.generate_line と同様のオプションを指定します。

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

p [1, 'Matz', :Ruby, Dat...
...e.new(1965, 4, 14)].to_csv # => "1,Matz,Ruby,1965-04-14\n"
p [1, 'Matz', :Ruby, Date.new(1965, 4, 14)].to_csv(col_sep: ' ', row_sep: "\r\n") # => "1 Matz Ruby 1965-04-14\r\n"
//}


@see CSV.generate_line...

CSV.foreach(path, options = Hash.new) {|row| ... } -> nil (607.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.generate(str = "", options = Hash.new) {|csv| ... } -> String (607.0)

このメソッドは与えられた文字列をラップして CSV のオブジェクトとしてブロックに渡します。 ブロック内で CSV オブジェクトに行を追加することができます。 ブロックを評価した結果は文字列を返します。

...このメソッドは与えられた文字列をラップして CSV のオブジェクトとしてブロックに渡します。
ブロック内で CSV オブジェクトに行を追加することができます。
ブロックを評価した結果は文字列を返します。

このメソッド...
...合は Object#dup で複製してください。

@param str 文字列を指定します。デフォルトは空文字列です。

@param options CSV.new のオプションと同じオプションを指定できます。
:encoding というキーを使用すると出力のエンコ...
...

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

text =<<-EOS
id,first name,last name,age
1,taro,tanaka,20
2,jiro,suzuki,18
3,ami,sato,19
4,yumi,adachi,21
EOS

csv
= CSV.generate(text, headers: true) do |csv|
csv
.add_row(["5", "saburo", "kondo", "34"])
end

print csv
# => id,first name,last name,age
# 1,t...

CSV.generate_line(row, options = Hash.new) -> String (607.0)

このメソッドは一つの Array オブジェクトを CSV 文字列に変換するためのショートカットです。 複数行のCSVを扱う際はCSV#<<を使うとより高速です。

...このメソッドは一つの Array オブジェクトを CSV 文字列に変換するためのショートカットです。
複数行のCSVを扱う際はCSV#<<を使うとより高速です。

このメソッドは可能であれば row に含まれる最初の nil でない値を用いて出...
...力の
エンコーディングを推測します。

@param row 文字列の配列を指定します。

@param options CSV.new のオプションと同じオプションを指定できます。
:encoding というキーを使用すると出力のエンコーディングを指定す...
...ることができます。
:row_sep というキーの値には $/ がセットされます。

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

taro = ['1', 'taro', 'tanaka', '20']
CSV
.generate_line(taro, col_sep: '|') # => "1|taro|tanaka|20\n"
//}

@see CSV.new...

絞り込み条件を変える

CSV.parse(str, options = Hash.new) -> Array (607.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.parse(str, options = Hash.new) {|row| ... } -> nil (607.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.parse_line(line, options = Hash.new) -> Array (607.0)

このメソッドは一行の CSV 文字列を配列に変換するためのショートカットです。

...このメソッドは一行の CSV 文字列を配列に変換するためのショートカットです。

@param line 文字列を指定します。複数行の文字列を指定した場合は、一行目以外は無視します。

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

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

p CSV.parse_line("1,taro,tanaka,20")
# => ["1", "taro", "tanaka", "20"]

p CSV.parse_line("1|taro|tanaka|20", col_sep: '|')
# => ["1", "taro", "tanaka", "20"]

# 列をダブルクオートで囲むとその中にカンマや改行を...
...含める事もできる。
# 他の仕様も含め詳しくはRFC4180を参照。
p CSV.parse_line("1,\"ta,ro\",\"tana\nka\", 20")
# => ["1", "ta,ro", "tana\nka", " 20"]
//}...

CSV.read(path, options = Hash.new) -> [Array] | CSV::Table (607.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.readlines(path, options = Hash.new) -> [Array] | CSV::Table (607.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.table(path, options = Hash.new) -> CSV::Table | [Array] (607.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::Table#to_csv(options = Hash.new) -> String (607.0)

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

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

ヘッダを一行目に出力します。その後に残りのデータを出力します。

デフォルトでは、ヘッダを出力します。オプションに :write_headers =>
false を指定するとヘッダを出力しません。

//emli...
...st[][ruby]{
require 'csv'
csv
= CSV.new("a,b,c\n1,2,3", headers: true)
table = csv.read
p table.to_csv # => "a,b,c\n1,2,3\n"
p table.to_csv(write_headers: false) # => "1,2,3\n"
//}...

CSV::Table#to_s(options = Hash.new) -> String (607.0)

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

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

ヘッダを一行目に出力します。その後に残りのデータを出力します。

デフォルトでは、ヘッダを出力します。オプションに :write_headers =>
false を指定するとヘッダを出力しません。

//emli...
...st[][ruby]{
require 'csv'
csv
= CSV.new("a,b,c\n1,2,3", headers: true)
table = csv.read
p table.to_csv # => "a,b,c\n1,2,3\n"
p table.to_csv(write_headers: false) # => "1,2,3\n"
//}...

String#parse_csv(**options) -> [String] (607.0)

CSV.parse_line(self, options) と同様です。

...
CSV
.parse_line(self, options) と同様です。

1 行の CSV 文字列を、文字列の配列に変換するためのショートカットです。

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

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

p "Matz,Ruby\n".parse_csv...
...by\r\n".parse_csv(col_sep: '|', row_sep: "\r\n") # => ["Matz", "Ruby"]
//}

Ruby 2.6 (CSV 3.0.2) から、次のオプションが使えるようになりました。

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

p "1,,3\n".parse_csv # => ["1", nil, "3"]
p "1,,3\n".parse_csv(nil_value: F...
...loat::NAN) # => ["1", NaN, "3"]
//}


@see CSV.new, CSV.parse_line...