ライブラリ
- csv (13)
クラス
- CSV (8)
-
CSV
:: FieldInfo (3) - String (1)
キーワード
-
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (1) - CSV (1)
- Converters (1)
- convert (3)
- header (1)
- index (1)
- line (1)
- new (1)
-
parse
_ csv (1) -
parse
_ line (1) -
ruby 1
. 8 . 2 feature (1)
検索結果
先頭5件
-
csv (114535.0)
-
CSV (Comma Separated Values) を扱うライブラリです。
CSV (Comma Separated Values) を扱うライブラリです。
このバージョンの CSV ライブラリは FasterCSV から始まりました。
FasterCSV は Ruby1.8 に標準添付されている CSV ライブラリの置き換えとして開発されました。
このライブラリはユーザの関心事を解決するためにデザインされています。
主なゴールが三つあります。
(1) ピュア Ruby のままで元の CSV ライブラリよりもかなり速くすること
(2) 小さくメンテナンスしやすいコードベースであること (FasterCSV はかなり大きく
機能豊かになりました。構文... -
CSV
. parse(str , options = Hash . new) -> Array (105505.0) -
このメソッドは文字列を簡単にパースすることができます。 ブロックを与えた場合は、ブロックにそれぞれの行を渡します。 ブロックを省略した場合は、配列の配列を返します。
このメソッドは文字列を簡単にパースすることができます。
ブロックを与えた場合は、ブロックにそれぞれの行を渡します。
ブロックを省略した場合は、配列の配列を返します。
@param str 文字列を指定します。
@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)
# => ... -
CSV
. parse(str , options = Hash . new) {|row| . . . } -> nil (105505.0) -
このメソッドは文字列を簡単にパースすることができます。 ブロックを与えた場合は、ブロックにそれぞれの行を渡します。 ブロックを省略した場合は、配列の配列を返します。
このメソッドは文字列を簡単にパースすることができます。
ブロックを与えた場合は、ブロックにそれぞれの行を渡します。
ブロックを省略した場合は、配列の配列を返します。
@param str 文字列を指定します。
@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)
# => ... -
CSV
. parse _ line(line , options = Hash . new) -> Array (69496.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: '|')
#... -
String
# parse _ csv(**options) -> [String] (60991.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 # => ["Matz", "Ruby"]
p "Matz|Ruby\r\n".parse_csv(col_sep: '|', row_sep: "\r\n") # => ... -
CSV
. new(data , options = Hash . new) -> CSV (52036.0) -
このメソッドは CSV ファイルを読み込んだり、書き出したりするために String か IO のインスタンスをラップします。
このメソッドは CSV ファイルを読み込んだり、書き出したりするために
String か IO のインスタンスをラップします。
ラップされた文字列の先頭から読み込むことになります。
文字列に追記したい場合は CSV.generate を使用してください。
他の位置から処理したい場合はあらかじめそのように設定した StringIO を渡してください。
@param data String か IO のインスタンスを指定します。
String のインスタンスを指定した場合、CSV#string を使用して
後からデータを取り出すことが出来ます。... -
CSV
# convert {|field , field _ info| . . . } (51325.0) -
引数 name で指定した変換器かブロックに各フィールドを渡して文字列から別 のオブジェクトへと変換します。
引数 name で指定した変換器かブロックに各フィールドを渡して文字列から別
のオブジェクトへと変換します。
引数 name を指定した場合は、組み込みの CSV::Converters を変換器
として利用するために使います。また、独自の変換器を追加することもできま
す。
ブロックパラメータを一つ受け取るブロックを与えた場合は、そのブロックは
フィールドを受け取ります。ブロックパラメータを二つ受け取るブロックを与
えた場合は、そのブロックは、フィールドと CSV::FieldInfo のインス
タンスを受け取ります。ブロックは変換後の値かフィールドそのものを返さな
ければなりません。
... -
CSV
# convert {|field| . . . } (51325.0) -
引数 name で指定した変換器かブロックに各フィールドを渡して文字列から別 のオブジェクトへと変換します。
引数 name で指定した変換器かブロックに各フィールドを渡して文字列から別
のオブジェクトへと変換します。
引数 name を指定した場合は、組み込みの CSV::Converters を変換器
として利用するために使います。また、独自の変換器を追加することもできま
す。
ブロックパラメータを一つ受け取るブロックを与えた場合は、そのブロックは
フィールドを受け取ります。ブロックパラメータを二つ受け取るブロックを与
えた場合は、そのブロックは、フィールドと CSV::FieldInfo のインス
タンスを受け取ります。ブロックは変換後の値かフィールドそのものを返さな
ければなりません。
... -
CSV
# convert(name) (51325.0) -
引数 name で指定した変換器かブロックに各フィールドを渡して文字列から別 のオブジェクトへと変換します。
引数 name で指定した変換器かブロックに各フィールドを渡して文字列から別
のオブジェクトへと変換します。
引数 name を指定した場合は、組み込みの CSV::Converters を変換器
として利用するために使います。また、独自の変換器を追加することもできま
す。
ブロックパラメータを一つ受け取るブロックを与えた場合は、そのブロックは
フィールドを受け取ります。ブロックパラメータを二つ受け取るブロックを与
えた場合は、そのブロックは、フィールドと CSV::FieldInfo のインス
タンスを受け取ります。ブロックは変換後の値かフィールドそのものを返さな
ければなりません。
... -
CSV
:: Converters -> Hash (51073.0) -
このハッシュは名前でアクセスできる組み込みの変換器を保持しています。
このハッシュは名前でアクセスできる組み込みの変換器を保持しています。
CSV#convert で使用する変換器として使用できます。
また CSV.new のオプションとして使用することもできます。
: :integer
Kernel.#Integer を使用してフィールドを変換します。
: :float
Kernel.#Float を使用してフィールドを変換します。
: :numeric
:integer と :float の組み合わせです。
: :date
Date.parse を使用してフィールドを変換します。
: :date_time
DateTime.pars... -
CSV (43219.0)
-
このクラスは CSV ファイルやデータに対する完全なインターフェイスを提供します。
このクラスは CSV ファイルやデータに対する完全なインターフェイスを提供します。
=== 読み込み
//emlist[][ruby]{
require "csv"
csv_text = <<~CSV_TEXT
Ruby,1995
Rust,2010
CSV_TEXT
IO.write "sample.csv", csv_text
# ファイルから一行ずつ
CSV.foreach("sample.csv") do |row|
p row
end
# => ["Ruby", "1995"]
# ["Rust", "2010"]
# ファイルから一度に
p CSV.r... -
CSV
:: FieldInfo # header -> String | nil (33127.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
:: FieldInfo # index -> Integer (33127.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.index
Date.parse(field)
end
p csv.first
# => 0
# => 1
# => #<CSV::Row "date1":#<Date: 2018-07-09 ((2458309j,0s... -
CSV
:: FieldInfo # line -> Integer (33127.0) -
行番号を返します。
行番号を返します。
//emlist[例][ruby]{
require 'csv'
csv = CSV.new("date1,date2,date3\n2018-07-09,2018-07-10\n2018-08-09,2018-08-10", headers: true)
csv.convert do |field,field_info|
p field_info.line
Date.parse(field)
end
p csv.to_a
# => 2
# => 2
# => 3
# => 3
# => [#<CSV::Row "date1":#<Date: 2018-07... -
ruby 1
. 8 . 2 feature (307.0) -
ruby 1.8.2 feature ruby 1.8.2 での ruby 1.8.1 からの変更点です。
ruby 1.8.2 feature
ruby 1.8.2 での ruby 1.8.1 からの変更点です。
掲載方針
*バグ修正の影響も含めて動作が変わるものを収録する。
*単にバグを直しただけのものは収録しない。
*ライブラリへの単なる定数の追加は収録しない。
以下は各変更点に付けるべきタグです。
*カテゴリ
* [ruby]: ruby インタプリタの変更
* [api]: 拡張ライブラリ API
* [lib]: ライブラリ
*レベル
* [bug]: バグ修正
* [new]: 追加されたクラス/メソッドなど
* [compat]: 変更されたクラス/... -
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (37.0) -
1.6.8から1.8.0への変更点(まとめ) * ((<1.6.8から1.8.0への変更点(まとめ)/インタプリタの変更>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加されたクラス/モジュール>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加されたメソッド>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加された定数>)) * ((<1.6.8から1.8.0への変更点(まとめ)/拡張されたクラス/メソッド(互換性のある変更)>)) * ((<1.6.8から1.8.0への変更点(まとめ)/変更されたクラス/メソッド(互換性のない変更)>)) * ((<1.6.8から1.8.0への変更点(まとめ)/文法の変更>)) * ((<1.6.8から1.8.0への変更点(まとめ)/正規表現>)) * ((<1.6.8から1.8.0への変更点(まとめ)/Marshal>)) * ((<1.6.8から1.8.0への変更点(まとめ)/Windows 対応>)) * ((<1.6.8から1.8.0への変更点(まとめ)/廃止された(される予定の)機能>)) * ((<1.6.8から1.8.0への変更点(まとめ)/ライブラリ>)) * ((<1.6.8から1.8.0への変更点(まとめ)/拡張ライブラリAPI>)) * ((<1.6.8から1.8.0への変更点(まとめ)/バグ修正>)) * ((<1.6.8から1.8.0への変更点(まとめ)/サポートプラットフォームの追加>))
1.6.8から1.8.0への変更点(まとめ)
* ((<1.6.8から1.8.0への変更点(まとめ)/インタプリタの変更>))
* ((<1.6.8から1.8.0への変更点(まとめ)/追加されたクラス/モジュール>))
* ((<1.6.8から1.8.0への変更点(まとめ)/追加されたメソッド>))
* ((<1.6.8から1.8.0への変更点(まとめ)/追加された定数>))
* ((<1.6.8から1.8.0への変更点(まとめ)/拡張されたクラス/メソッド(互換性のある変更)>))
* ((<1.6.8から1.8.0への変更点(まとめ)/変更されたクラス/メソッド(互換性のない変更)>))...