29

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

文档中的示例:

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

3 回答 3

47

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

CSV.open("t.csv", "ab") do |csv|
于 2010-08-17T22:54:29.760 回答
13

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

File.open("filename", 'a+') {|f| f.write("datatowrite\n)}
于 2010-08-17T23:20:24.580 回答
2
File.open('filename', 'a'){ |outfile|
  CSV::Writer.generate(outfile) do |csv|
    csv << ['c1', nil, '', '"', "\r\n", 'c2']
  end
}
于 2013-01-15T12:21:49.643 回答