當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


Ruby CSV.csv << row用法及代碼示例

本文簡要介紹ruby語言中 CSV.csv 的用法。

用法

csv << rowself
也別名為:add_rowputs

self 追加一行。

  • 參數 row 必須是 Array 對象或 CSV::Row 對象。

  • 輸出流必須打開才能寫入。

附加數組:

CSV.generate do |csv|
  csv << ['foo', 0]
  csv << ['bar', 1]
  csv << ['baz', 2]
end # => "foo,0\nbar,1\nbaz,2\n"

附加 CSV::行:

headers = []
CSV.generate do |csv|
  csv << CSV::Row.new(headers, ['foo', 0])
  csv << CSV::Row.new(headers, ['bar', 1])
  csv << CSV::Row.new(headers, ['baz', 2])
end # => "foo,0\nbar,1\nbaz,2\n"

CSV::Row 對象中的標題未附加:

headers = ['Name', 'Count']
CSV.generate do |csv|
  csv << CSV::Row.new(headers, ['foo', 0])
  csv << CSV::Row.new(headers, ['bar', 1])
  csv << CSV::Row.new(headers, ['baz', 2])
end # => "foo,0\nbar,1\nbaz,2\n"

如果 row 不是數組或 CSV::Row,則引發異常:

CSV.generate do |csv|
  # Raises NoMethodError (undefined method `collect' for :foo:Symbol)
  csv << :foo
end

如果未打開輸出流進行寫入,則引發異常:

path = 't.csv'
File.write(path, '')
File.open(path) do |file|
  CSV.open(file) do |csv|
    # Raises IOError (not opened for writing)
    csv << ['foo', 0]
  end
end

相關用法


注:本文由純淨天空篩選整理自ruby-lang.org大神的英文原創作品 CSV.csv << row。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。