種類
- 特異メソッド (36)
- インスタンスメソッド (36)
- ライブラリ (12)
- 文書 (12)
- クラス (12)
ライブラリ
- csv (84)
キーワード
- CSV (12)
- csv (12)
-
force
_ quotes? (12) -
generate
_ line (12) - new (12)
-
ruby 1
. 8 . 2 feature (12) -
to
_ csv (12) -
write
_ headers? (12)
検索結果
先頭5件
-
CSV
. generate(str = "" , options = Hash . new) {|csv| . . . } -> String (18113.0) -
このメソッドは与えられた文字列をラップして CSV のオブジェクトとしてブロックに渡します。 ブロック内で 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,taro,tanaka,20
# 2,jiro,suzuki,18
# 3,a... -
CSV
. generate _ line(row , options = Hash . new) -> String (6226.0) -
このメソッドは一つの Array オブジェクトを CSV 文字列に変換するためのショートカットです。 複数行のCSVを扱う際はCSV#<<を使うとより高速です。
...際はCSV#<<を使うとより高速です。
このメソッドは可能であれば row に含まれる最初の nil でない値を用いて出力の
エンコーディングを推測します。
@param row 文字列の配列を指定します。
@param options CSV.new のオプションと同......コーディングを指定することができます。
: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
# force _ quotes? -> bool (84.0) -
出力される全てのフィールドがクオートされる場合は、真を返します。
...quire "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 = [["head......er1", "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 (72.0)
-
このクラスは CSV ファイルやデータに対する完全なインターフェイスを提供します。
...ずつ
CSV.foreach("sample.csv") do |row|
p row
end
# => ["Ruby", "1995"]
# ["Rust", "2010"]
# ファイルから一度に
p CSV.read("sample.csv")
# => [["Ruby", "1995"], ["Rust", "2010"]]
# 文字列から一行ずつ
CSV.parse(csv_text) do |row|
p row
end
# => ["Ruby", "1995"]
# ["Rus......SV.open("path/to/file.csv", "wb") do |csv|
csv << ["row", "of", "CSV", "data"]
csv << ["another", "row"]
# ...
end
# 文字列へ書き込み
csv_string = CSV.generate do |csv|
csv << ["row", "of", "CSV", "data"]
csv << ["another", "row"]
# ...
end
//}
=== 一行変換
//emlist[][ruby......CSV will return Arrays or Rows of Strings in the
Encoding of your data. This is accomplished by transcoding the parser itself
into your Encoding.
Some transcoding must take place, of course, to accomplish this multiencoding
support. For example, <tt>:col_sep</tt>, <tt>:row_sep</tt>, and
<tt>:quot... -
CSV
# write _ headers? -> bool (60.0) -
ヘッダを出力先に書き込む場合は真を返します。 そうでない場合は偽を返します。
...er2"]
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
. new(data , options = Hash . new) -> CSV (60.0) -
このメソッドは CSV ファイルを読み込んだり、書き出したりするために String か IO のインスタンスをラップします。
...をラップします。
ラップされた文字列の先頭から読み込むことになります。
文字列に追記したい場合は CSV.generate を使用してください。
他の位置から処理したい場合はあらかじめそのように設定した StringIO を渡してくだ......の区切り文字列を指定します。この文字列はパースする前にデータの
エンコーディングに変換されます。
: :row_sep
行区切りの文字列を指定します。:auto という特別な値をセットすることができます。
:auto を指定した場......ields
真をセットすると CSV::Row#unconverted_fields という変換前のフィー
ルドを返すメソッドを全ての行に追加します。headers オプションによって
追加したヘッダはフィールドではないので
CSV::Row#unconverted_fields は空の配列... -
Array
# to _ csv(**options) -> String (34.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......965, 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"
//}
Ruby 3.0 (CSV 3.1.9) から、次のオプションが使えるようになりました。
//......emlist[][ruby]{
require 'csv'
puts [1, nil].to_csv # => 1,
puts [1, nil].to_csv(write_nil_value: "N/A") # => 1,N/A
puts [2, ""].to_csv # => 2,""
puts [2, ""].to_csv(write_empty_value: "BLANK") # => 2,BLANK
//}
@see CSV.generate_line... -
csv (30.0)
-
CSV (Comma Separated Values) を扱うライブラリです。
...対して CSV::MalformedCSVError を投げます
* 旧 CSV ライブラリよりも行末に関しては寛容ではありません。あなたが :row_sep としてセットした値が法です。
しかし、自動検出させることもできます
* 旧ライブラリでは空行に対し......インターフェイス
* オプションをセットするのにハッシュ形式の引数を使うようになりました
* CSV#generate_row, CSV#parse_row はなくなりました
* 古い CSV::Reader, CSV::Writer クラスはなくなりました
* CSV.open はより Ruby らしくな......* 文字列や IO のようなオブジェクトを読み書きするためにラップする CSV.new メソッドが追加されました
* CSV.generate は古いものとは異なります
* 部分読み出しはもうサポートしていません。読み込みは行単位で行います
*... -
ruby 1
. 8 . 2 feature (18.0) -
ruby 1.8.2 feature ruby 1.8.2 での ruby 1.8.1 からの変更点です。
...す。
CSV.parse("1,2\n3,r") #=> [['1', '2'], ['3', 'r']]
: CSV::Row [lib] [obsolete]
: CSV::Cell [lib] [obsolete]
CSV::Row と CSV::Cell が deprecated になりました。
: CSV.open, CSV.parse, and CSV,generate
必要ならばユーザが binmode をセットしなければな...