るりまサーチ

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

別のキーワード

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

クラス

キーワード

検索結果

CSV.parse(str, options = Hash.new) -> Array (18222.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 name"...
..."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 (18222.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 name"...
..."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|...

String#parse_csv(**options) -> [String] (6261.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...
...|Ruby\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...
...: Float::NAN) # => ["1", NaN, "3"]
//}


@see CSV.new, CSV.parse_line...
..."]
//}

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

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

p "Matz, Ruby\n".parse_csv # => ["Matz", " Ruby"]
p "Matz, Ruby\n".parse_csv(strip: true) # => ["Matz", "Ruby"]
//}

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

CSV.parse_line(line, options = Hash.new) -> Array (6221.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.new(data, options = Hash.new) -> CSV (142.0)

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

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

ラップされた文字列の先頭から読み込むことになります。
文字列に追記したい場合は CSV.generate を使用し...
...た StringIO を渡してください。

@param data String か IO のインスタンスを指定します。
String のインスタンスを指定した場合、CSV#string を使用して
後からデータを取り出すことが出来ます。

@param options CSV をパ...
...the limit CSV will raise a
MalformedCSVError, assuming the data is faulty. You can use this limit to
prevent what are effectively DoS attacks on the parser. However, this
limit can cause a legitimate parse to fail and thus is set to +nil+, or off,
by default.
: :converters
CSV
::Conver...

絞り込み条件を変える

CSV (44.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")...
...010"]

# ファイルから一度に
p CSV.read("sample.csv")
# => [["Ruby", "1995"], ["Rust", "2010"]]

# 文字列から一行ずつ
CSV
.parse(csv_text) do |row|
p row
end
# => ["Ruby", "1995"]
# ["Rust", "2010"]

# 文字列から一度に
p CSV.parse(csv_text)
# => [["Ruby", "1995"], ["Rust...
...][ruby]{
require 'csv'

# ファイルへ書き込み
CSV
.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", "r...