ライブラリ
- csv (64)
キーワード
- << (1)
-
add
_ row (1) - binmode (1)
- binmode? (1)
- close (1)
-
close
_ read (1) -
close
_ write (1) - closed? (1)
-
col
_ sep (1) - convert (3)
- converters (1)
- each (1)
- encoding (1)
- eof (1)
- eof? (1)
-
external
_ encoding (1) - fcntl (1)
-
field
_ size _ limit (1) - fileno (1)
- flock (1)
- flush (1)
-
force
_ quotes? (1) - fsync (1)
- gets (1)
-
header
_ convert (3) -
header
_ converters (1) -
header
_ row? (1) - headers (1)
- inspect (1)
-
internal
_ encoding (1) - ioctl (1)
- isatty (1)
- lineno (1)
- path (1)
- pid (1)
- pos (1)
- pos= (1)
- puts (1)
-
quote
_ char (1) - read (1)
- readline (1)
- readlines (1)
- reopen (1)
-
return
_ headers? (1) - rewind (1)
-
row
_ sep (1) - seek (1)
- shift (1)
-
skip
_ blanks? (1) - stat (1)
- string (1)
- sync (1)
- sync= (1)
- tell (1)
-
to
_ i (1) -
to
_ io (1) - truncate (1)
- tty? (1)
-
unconverted
_ fields? (1) -
write
_ headers? (1)
検索結果
先頭5件
-
CSV
# <<(row) -> self (7.0) -
自身に row を追加します。
...m row 配列か CSV::Row のインスタンスを指定します。
CSV::Row のインスタンスが指定された場合は、CSV::Row#fields の値
のみが追加されます。
//emlist[例 配列を指定][ruby]{
require "csv"
File.write("test.csv", <<CSV)
id,first name......i,adachi,21
CSV
CSV.open("test.csv", "a") do |csv|
csv.puts(["5", "saburo", "kondo", "34"])
end
print File.read("test.csv")
# => id,first name,last name,age
# 1,taro,tanaka,20
# 2,jiro,suzuki,18
# 3,ami,sato,19
# 4,yumi,adachi,21
# 5,saburo,kondo,34
//}
//emlist[例 CSV::Row を......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
CSV.open("test.csv", "a") do |csv|
row = CSV::Row.new(["id", "first name", "last name", "age"], ["5", "saburo", "kondo", "34"])
csv.add_row(row)
en... -
CSV
# add _ row(row) -> self (7.0) -
自身に row を追加します。
...m row 配列か CSV::Row のインスタンスを指定します。
CSV::Row のインスタンスが指定された場合は、CSV::Row#fields の値
のみが追加されます。
//emlist[例 配列を指定][ruby]{
require "csv"
File.write("test.csv", <<CSV)
id,first name......i,adachi,21
CSV
CSV.open("test.csv", "a") do |csv|
csv.puts(["5", "saburo", "kondo", "34"])
end
print File.read("test.csv")
# => id,first name,last name,age
# 1,taro,tanaka,20
# 2,jiro,suzuki,18
# 3,ami,sato,19
# 4,yumi,adachi,21
# 5,saburo,kondo,34
//}
//emlist[例 CSV::Row を......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
CSV.open("test.csv", "a") do |csv|
row = CSV::Row.new(["id", "first name", "last name", "age"], ["5", "saburo", "kondo", "34"])
csv.add_row(row)
en... -
CSV
# binmode -> self (7.0) -
IO#binmode に委譲します。
IO#binmode に委譲します。
@see IO#binmode -
CSV
# binmode? -> bool (7.0) -
IO#binmode? に委譲します。
IO#binmode? に委譲します。
@see IO#binmode? -
CSV
# close -> nil (7.0) -
IO#close に委譲します。
IO#close に委譲します。
@see IO#close -
CSV
# close _ read -> nil (7.0) -
IO#close_read に委譲します。
IO#close_read に委譲します。
@see IO#close_read -
CSV
# close _ write -> nil (7.0) -
IO#close_write に委譲します。
IO#close_write に委譲します。
@see IO#close_write -
CSV
# closed? -> bool (7.0) -
IO#closed? に委譲します。
IO#closed? に委譲します。
@see IO#closed? -
CSV
# col _ sep -> String (7.0) -
カラム区切り文字列として使用する文字列を返します。
..."csv"
users =<<-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.new(users, headers: true, col_sep: "|")
csv.col_sep # => "|"
csv.first.to_a # => [["id", "1"], ["first name", "taro"], ["last name", "tanaka"], ["age", "20"]]
csv = CSV.......new(users, headers: true)
csv.col_sep # => ","
csv.first.to_a # => [["id|first name|last name|age", "1|taro|tanaka|20"]]
//}
@see CSV.new... -
CSV
# convert {|field , field _ info| . . . } (7.0) -
引数 name で指定した変換器かブロックに各フィールドを渡して文字列から別 のオブジェクトへと変換します。
...フィールドを渡して文字列から別
のオブジェクトへと変換します。
引数 name を指定した場合は、組み込みの CSV::Converters を変換器
として利用するために使います。また、独自の変換器を追加することもできま
す。
ブロッ......と CSV::FieldInfo のインス
タンスを受け取ります。ブロックは変換後の値かフィールドそのものを返さな
ければなりません。
@param name 変換器の名前を指定します。
//emlist[例 name で Converter を指定][ruby]{
require "csv"
csv = CSV.new("......07-09,2018-07-10")
csv.convert(:date)
csv.read # => 2018-07-09 ((2458309j,0s,0n),+0s,2299161j)>, #<Date: 2018-07-10 ((2458310j,0s,0n),+0s,2299161j)>
//}
//emlist[例 ブロックを指定][ruby]{
require "csv"
csv = CSV.new("date1,date2\n2018-07-09,2018-07-10", headers: true)
csv.convert do |fiel... -
CSV
# convert {|field| . . . } (7.0) -
引数 name で指定した変換器かブロックに各フィールドを渡して文字列から別 のオブジェクトへと変換します。
...フィールドを渡して文字列から別
のオブジェクトへと変換します。
引数 name を指定した場合は、組み込みの CSV::Converters を変換器
として利用するために使います。また、独自の変換器を追加することもできま
す。
ブロッ......と CSV::FieldInfo のインス
タンスを受け取ります。ブロックは変換後の値かフィールドそのものを返さな
ければなりません。
@param name 変換器の名前を指定します。
//emlist[例 name で Converter を指定][ruby]{
require "csv"
csv = CSV.new("......07-09,2018-07-10")
csv.convert(:date)
csv.read # => 2018-07-09 ((2458309j,0s,0n),+0s,2299161j)>, #<Date: 2018-07-10 ((2458310j,0s,0n),+0s,2299161j)>
//}
//emlist[例 ブロックを指定][ruby]{
require "csv"
csv = CSV.new("date1,date2\n2018-07-09,2018-07-10", headers: true)
csv.convert do |fiel... -
CSV
# convert(name) (7.0) -
引数 name で指定した変換器かブロックに各フィールドを渡して文字列から別 のオブジェクトへと変換します。
...フィールドを渡して文字列から別
のオブジェクトへと変換します。
引数 name を指定した場合は、組み込みの CSV::Converters を変換器
として利用するために使います。また、独自の変換器を追加することもできま
す。
ブロッ......と CSV::FieldInfo のインス
タンスを受け取ります。ブロックは変換後の値かフィールドそのものを返さな
ければなりません。
@param name 変換器の名前を指定します。
//emlist[例 name で Converter を指定][ruby]{
require "csv"
csv = CSV.new("......07-09,2018-07-10")
csv.convert(:date)
csv.read # => 2018-07-09 ((2458309j,0s,0n),+0s,2299161j)>, #<Date: 2018-07-10 ((2458310j,0s,0n),+0s,2299161j)>
//}
//emlist[例 ブロックを指定][ruby]{
require "csv"
csv = CSV.new("date1,date2\n2018-07-09,2018-07-10", headers: true)
csv.convert do |fiel... -
CSV
# converters -> Array (7.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
# each {|row| . . . } -> nil (7.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::Row "id":"1" "fi......"tanaka" "age":"20">
# => #<CSV::Row "id":"2" "first name":"jiro" "last name":"suzuki" "age":"18">
# => #<CSV::Row "id":"3" "first name":"ami" "last name":"sato" "age":"19">
# => #<CSV::Row "id":"4" "first name":"yumi" "last name":"adachi" "age":"21">
//}
//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)
csv.each do |row|
p row
end
# => ["id", "first name", "last name", "age"]
# => ["1", "taro", "tanaka", "20"]
# => ["... -
CSV
# encoding -> Encoding (7.0) -
読み書きするときに使用するエンコーディングを返します。
...読み書きするときに使用するエンコーディングを返します。
//emlist[例][ruby]{
require "csv"
csv = CSV.new("header1,header2\nrow1_1,row1_2", headers: true)
csv.encoding # => #<Encoding:UTF-8>
//}... -
CSV
# eof -> bool (7.0) -
IO#eof, IO#eof? に委譲します。
IO#eof, IO#eof? に委譲します。
@see IO#eof, IO#eof? -
CSV
# eof? -> bool (7.0) -
IO#eof, IO#eof? に委譲します。
IO#eof, IO#eof? に委譲します。
@see IO#eof, IO#eof? -
CSV
# external _ encoding -> Encoding | nil (7.0) -
IO#external_encoding に委譲します。
IO#external_encoding に委譲します。 -
CSV
# fcntl(cmd , arg = 0) -> Integer (7.0) -
IO#fcntl に委譲します。
IO#fcntl に委譲します。 -
CSV
# field _ size _ limit -> Integer (7.0) -
フィールドサイズの最大値を返します。
...csv"
csv = CSV.new(DATA)
csv.field_size_limit # => nil
p csv.read # => [["a", "b"], ["\n2\n2\n", ""]]
DATA.rewind
csv = CSV.new(DATA, field_size_limit: 4)
p csv.field_size_limit # => 4
csv.read # => #<CSV::MalformedCSVError: Field size exceeded on line 2.>
__END__
"a","b"
"
2
2
",""
//}
@see CSV... -
CSV
# fileno -> Integer (7.0) -
IO#fileno, IO#to_i に委譲します。
IO#fileno, IO#to_i に委譲します。 -
CSV
# flock(operation) -> 0 | false (7.0) -
File#flock に委譲します。
File#flock に委譲します。 -
CSV
# flush -> self (7.0) -
IO#flush に委譲します。
IO#flush に委譲します。 -
CSV
# force _ quotes? -> bool (7.0) -
出力される全てのフィールドがクオートされる場合は、真を返します。
...]{
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
//}
//emlist[例][ruby]{
require "csv"
rows = [[......"header1", "header2"], ["row1_1,", "row1_2"]]
result = CSV.generate(force_quotes: true) do |csv|
rows.each { |row| csv << row }
csv.force_quotes? # => true
end
print result
# => true
# => "header1","header2"
# "row1_1,","row1_2"
//}
@see CSV.new... -
CSV
# fsync -> 0 | nil (7.0) -
IO#fsync に委譲します。
IO#fsync に委譲します。 -
CSV
# gets -> Array | CSV :: Row (7.0) -
String や IO をラップしたデータソースから一行だけ読み込んで フィールドの配列か CSV::Row のインスタンスを返します。
...ールドの配列か CSV::Row のインスタンスを返します。
データソースは読み込み用にオープンされている必要があります。
@return ヘッダを使用しない場合は配列を返します。
ヘッダを使用する場合は CSV::Row を返します......。
//emlist[例][ruby]{
require "csv"
csv = CSV.new(DATA.read)
csv.readline # => ["header1", "header2"]
csv.readline # => ["row1_1", "row1_2"]
__END__
header1,header2
row1_1,row1_2
//}... -
CSV
# header _ convert {|field , field _ info| . . . } (7.0) -
CSV#convert に似ていますが、ヘッダ行用のメソッドです。
...
CSV#convert に似ていますが、ヘッダ行用のメソッドです。
このメソッドはヘッダ行を読み込む前に呼び出さなければなりません。
@param name 変換器の名前を指定します。
//emlist[例 name を指定][ruby]{
require "csv"
csv = CSV.new("heade......1,row1_2", headers: true)
csv.header_convert(:symbol)
csv.first.headers # => [:header1, :header2]
//}
//emlist[例 ブロックを指定][ruby]{
require "csv"
csv = CSV.new("header1,header2\nrow1_1,row1_2", headers: true)
csv.header_convert do |field|
field.to_sym
end
csv.first.headers # => [:he......ader1, :header2]
//}
@see CSV#header_converters, CSV#convert... -
CSV
# header _ convert {|field| . . . } (7.0) -
CSV#convert に似ていますが、ヘッダ行用のメソッドです。
...
CSV#convert に似ていますが、ヘッダ行用のメソッドです。
このメソッドはヘッダ行を読み込む前に呼び出さなければなりません。
@param name 変換器の名前を指定します。
//emlist[例 name を指定][ruby]{
require "csv"
csv = CSV.new("heade......1,row1_2", headers: true)
csv.header_convert(:symbol)
csv.first.headers # => [:header1, :header2]
//}
//emlist[例 ブロックを指定][ruby]{
require "csv"
csv = CSV.new("header1,header2\nrow1_1,row1_2", headers: true)
csv.header_convert do |field|
field.to_sym
end
csv.first.headers # => [:he......ader1, :header2]
//}
@see CSV#header_converters, CSV#convert... -
CSV
# header _ convert(name) (7.0) -
CSV#convert に似ていますが、ヘッダ行用のメソッドです。
...
CSV#convert に似ていますが、ヘッダ行用のメソッドです。
このメソッドはヘッダ行を読み込む前に呼び出さなければなりません。
@param name 変換器の名前を指定します。
//emlist[例 name を指定][ruby]{
require "csv"
csv = CSV.new("heade......1,row1_2", headers: true)
csv.header_convert(:symbol)
csv.first.headers # => [:header1, :header2]
//}
//emlist[例 ブロックを指定][ruby]{
require "csv"
csv = CSV.new("header1,header2\nrow1_1,row1_2", headers: true)
csv.header_convert do |field|
field.to_sym
end
csv.first.headers # => [:he......ader1, :header2]
//}
@see CSV#header_converters, CSV#convert... -
CSV
# header _ converters -> Array (7.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", "row1_2"
//}
@see CSV.new... -
CSV
# header _ row? -> bool (7.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
# headers -> Array | true | nil (7.0) -
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 # =>["header1", "header2"]
//}
@see CSV.new... -
CSV
# inspect -> String (7.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
# internal _ encoding -> Encoding | nil (7.0) -
IO#internal_encoding に委譲します。
IO#internal_encoding に委譲します。
@see IO#internal_encoding -
CSV
# ioctl(cmd , arg = 0) -> Integer (7.0) -
IO#ioctl に委譲します。
IO#ioctl に委譲します。
@see IO#ioctl -
CSV
# isatty -> bool (7.0) -
IO#isatty, IO#tty? に委譲します。
IO#isatty, IO#tty? に委譲します。
@see IO#isatty, IO#tty? -
CSV
# lineno -> Integer (7.0) -
このファイルから読み込んだ最終行の行番号を返します。 フィールドに含まれる改行はこの値には影響しません。
...このファイルから読み込んだ最終行の行番号を返します。
フィールドに含まれる改行はこの値には影響しません。
//emlist[例][ruby]{
require "csv"
csv = CSV.new("header1,header2\nrow1_1,row1_2")
csv.lineno # => 0
csv.readline
csv.lineno # => 1
//}... -
CSV
# path -> String (7.0) -
IO#path に委譲します。
IO#path に委譲します。
@see IO#path -
CSV
# pid -> Integer | nil (7.0) -
IO#pid に委譲します。
IO#pid に委譲します。
@see IO#pid -
CSV
# pos -> Integer (7.0) -
IO#pos, IO#tell に委譲します。
IO#pos, IO#tell に委譲します。
@see IO#pos, IO#tell -
CSV
# pos=(n) (7.0) -
IO#pos= に委譲します。
IO#pos= に委譲します。
@see IO#pos= -
CSV
# puts(row) -> self (7.0) -
自身に row を追加します。
...m row 配列か CSV::Row のインスタンスを指定します。
CSV::Row のインスタンスが指定された場合は、CSV::Row#fields の値
のみが追加されます。
//emlist[例 配列を指定][ruby]{
require "csv"
File.write("test.csv", <<CSV)
id,first name......i,adachi,21
CSV
CSV.open("test.csv", "a") do |csv|
csv.puts(["5", "saburo", "kondo", "34"])
end
print File.read("test.csv")
# => id,first name,last name,age
# 1,taro,tanaka,20
# 2,jiro,suzuki,18
# 3,ami,sato,19
# 4,yumi,adachi,21
# 5,saburo,kondo,34
//}
//emlist[例 CSV::Row を......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
CSV.open("test.csv", "a") do |csv|
row = CSV::Row.new(["id", "first name", "last name", "age"], ["5", "saburo", "kondo", "34"])
csv.add_row(row)
en... -
CSV
# quote _ char -> String (7.0) -
フィールドをクオートするのに使用する文字列を返します。
...フィールドをクオートするのに使用する文字列を返します。
//emlist[例][ruby]{
require "csv"
csv = CSV.new("header1,header2\nrow1_1,row1_2", quote_char: "'")
csv.quote_char # => "'"
//}
@see CSV.new... -
CSV
# read -> [Array] | CSV :: Table (7.0) -
残りの行を読み込んで配列の配列を返します。 self の生成時に headers オプションに偽でない値が指定されていた場合は CSV::Table オブジェクトを返します。
...い値が指定されていた場合は CSV::Table オブジェクトを返します。
データソースは読み込み用にオープンされている必要があります。
//emlist[例 headers: false][ruby]{
require "csv"
csv = CSV.new(DATA.read)
csv.read
# => [["header1", "header2"], ["ro......_1", "row1_2"], ["row2_1", "row2_2"]]
__END__
header1,header2
row1_1,row1_2
row2_1,row2_2
//}
//emlist[例 headers: true][ruby]{
require "csv"
csv = CSV.new(DATA.read, headers: true)
csv.read
# => #<CSV::Table mode:col_or_row row_count:3>
__END__
header1,header2
row1_1,row1_2
row2_1,row2_2
//}... -
CSV
# readline -> Array | CSV :: Row (7.0) -
String や IO をラップしたデータソースから一行だけ読み込んで フィールドの配列か CSV::Row のインスタンスを返します。
...ールドの配列か CSV::Row のインスタンスを返します。
データソースは読み込み用にオープンされている必要があります。
@return ヘッダを使用しない場合は配列を返します。
ヘッダを使用する場合は CSV::Row を返します......。
//emlist[例][ruby]{
require "csv"
csv = CSV.new(DATA.read)
csv.readline # => ["header1", "header2"]
csv.readline # => ["row1_1", "row1_2"]
__END__
header1,header2
row1_1,row1_2
//}... -
CSV
# readlines -> [Array] | CSV :: Table (7.0) -
残りの行を読み込んで配列の配列を返します。 self の生成時に headers オプションに偽でない値が指定されていた場合は CSV::Table オブジェクトを返します。
...い値が指定されていた場合は CSV::Table オブジェクトを返します。
データソースは読み込み用にオープンされている必要があります。
//emlist[例 headers: false][ruby]{
require "csv"
csv = CSV.new(DATA.read)
csv.read
# => [["header1", "header2"], ["ro......_1", "row1_2"], ["row2_1", "row2_2"]]
__END__
header1,header2
row1_1,row1_2
row2_1,row2_2
//}
//emlist[例 headers: true][ruby]{
require "csv"
csv = CSV.new(DATA.read, headers: true)
csv.read
# => #<CSV::Table mode:col_or_row row_count:3>
__END__
header1,header2
row1_1,row1_2
row2_1,row2_2
//}... -
CSV
# reopen(io) -> self (7.0) -
IO#reopen に委譲します。
IO#reopen に委譲します。
@see IO#reopen -
CSV
# return _ headers? -> bool (7.0) -
ヘッダを返す場合は、真を返します。 そうでない場合は、偽を返します。
...]{
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", headers: true, return_headers: true)
csv.return_hea......ders? # => true
csv.shift # => #<CSV::Row "header1":"header1" "header2":"header2">
//}
@see CSV.new... -
CSV
# rewind -> 0 (7.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 (7.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
# seek(offset , whence = IO :: SEEK _ SET) -> 0 (7.0) -
IO#seek に委譲します。
IO#seek に委譲します。
@see IO#seek -
CSV
# shift -> Array | CSV :: Row (7.0) -
String や IO をラップしたデータソースから一行だけ読み込んで フィールドの配列か CSV::Row のインスタンスを返します。
...ールドの配列か CSV::Row のインスタンスを返します。
データソースは読み込み用にオープンされている必要があります。
@return ヘッダを使用しない場合は配列を返します。
ヘッダを使用する場合は CSV::Row を返します......。
//emlist[例][ruby]{
require "csv"
csv = CSV.new(DATA.read)
csv.readline # => ["header1", "header2"]
csv.readline # => ["row1_1", "row1_2"]
__END__
header1,header2
row1_1,row1_2
//}... -
CSV
# skip _ blanks? -> bool (7.0) -
真である場合は、空行を読み飛ばします。
...[例][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? # => true
csv.read # => [["......header1", "header2"], ["row1_1", "row1_2"]]
//}
@see CSV.new... -
CSV
# stat -> File :: Stat (7.0) -
IO#stat に委譲します。
IO#stat に委譲します。
@see IO#stat -
CSV
# string -> String (7.0) -
StringIO#string に委譲します。
StringIO#string に委譲します。
@see StringIO#string -
CSV
# sync -> bool (7.0) -
IO#sync に委譲します。
IO#sync に委譲します。
@see IO#sync -
CSV
# sync=(newstate) (7.0) -
IO#sync= に委譲します。
IO#sync= に委譲します。
@see IO#sync= -
CSV
# tell -> Integer (7.0) -
IO#pos, IO#tell に委譲します。
IO#pos, IO#tell に委譲します。
@see IO#pos, IO#tell -
CSV
# to _ i -> Integer (7.0) -
IO#fileno, IO#to_i に委譲します。
IO#fileno, IO#to_i に委譲します。 -
CSV
# to _ io -> self (7.0) -
IO#to_io に委譲します。
IO#to_io に委譲します。
@see IO#to_io -
CSV
# truncate(path , length) -> 0 (7.0) -
File#truncate に委譲します。
File#truncate に委譲します。
@see File#truncate -
CSV
# tty? -> bool (7.0) -
IO#isatty, IO#tty? に委譲します。
IO#isatty, IO#tty? に委譲します。
@see IO#isatty, IO#tty? -
CSV
# unconverted _ fields? -> bool (7.0) -
パースした結果が unconverted_fields というメソッドを持つ場合に真を返します。 そうでない場合は、偽を返します。
...ます。
//emlist[例][ruby]{
require "csv"
csv = CSV.new("date1,date2\n2018-07-09,2018-07-10")
csv.unconverted_fields? # => nil
csv = CSV.new("date1,date2\n2018-07-09,2018-07-10", unconverted_fields: false)
csv.unconverted_fields? # => false
csv = CSV.new("date1,date2\n2018-07-09,2018-07-10", h......_fields: true)
csv.unconverted_fields? # => true
csv.convert(:date)
row = csv.readline
row.fields # => [#<Date: 2018-07-09 ((2458309j,0s,0n),+0s,2299161j)>, #<Date: 2018-07-10 ((2458310j,0s,0n),+0s,2299161j)>]
row.unconverted_fields # => ["2018-07-09", "2018-07-10"]
//}
@see CSV.new... -
CSV
# write _ headers? -> bool (7.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...