将行附加到csv文件Ruby 1.9 csv库

将行附加到csv文件Ruby 1.9 csv库,ruby,csv,ruby-1.9,Ruby,Csv,Ruby 1.9,使用Ruby 1.9和CSV库,我似乎无法添加行。文档中的示例将打开该文件并覆盖该行。向文档中追加行的正确方法是什么 文档中的示例: require 'csv' CSV.open("path/to/file.csv", "wb") do |csv| csv << ["row", "of", "CSV", "data"] csv << ["another", "row"] # ... end 需要“csv” CSV.open(“path/to/file.CSV

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

文档中的示例:

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

csv我认为您可以将open更改为使用
ab

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

我通常使用以下命令写入csv文件(或任何文件)

File.open('filename','a'){outfile|
CSV::Writer.generate(outfile)do | CSV|

csv注意,“a+”用于读取和。如果您只需要追加,那么“a”就足够了。您也可以使用,可能与其他模式设置结合使用。我们应该始终使用a+,因为如果不存在,它将创建文件。请参阅AFAIK csv::Writer is
File.open("filename", 'a+') {|f| f.write("datatowrite\n)}
File.open('filename', 'a'){ |outfile|
  CSV::Writer.generate(outfile) do |csv|
    csv << ['c1', nil, '', '"', "\r\n", 'c2']
  end
}