将行附加到csv文件Ruby 1.9 CSV lib

时间:2010-08-17 22:50:24

标签: ruby csv ruby-1.9

使用Ruby 1.9和CSV lib,我似乎无法追加一行。文档中的示例打开文件,并覆盖该行。将行追加到文档的正确方法是什么?

文档示例:

require 'csv'
CSV.open("path/to/file.csv", "wb") do |csv|
  csv << ["row", "of", "CSV", "data"]
  csv << ["another", "row"]
  # ...
end

3 个答案:

答案 0 :(得分:37)

我认为你可以改变开放状态以使用ab

CSV.open("t.csv", "ab") do |csv|

答案 1 :(得分:6)

我通常会使用以下内容写入csv文件(或任何文件)

File.open("filename", 'a+') {|f| f.write("datatowrite\n)}

答案 2 :(得分:2)

File.open('filename', 'a'){ |outfile|
  CSV::Writer.generate(outfile) do |csv|
    csv << ['c1', nil, '', '"', "\r\n", 'c2']
  end
}