使用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
答案 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
}