web-dev-qa-db-ja.com

行をcsvファイルに追加Ruby 1.9 CSV lib

Ruby 1.9とCSVlibを使用すると、行を追加できないようです。ドキュメントの例では、ファイルが開き、行が上書きされます。行を追加する正しい方法は何ですか。資料?

ドキュメントからの例:

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

abを使用するようにオープンを変更できると思います。

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

私は通常、以下を使用してcsvファイル(または任意のファイル)に書き込みます

File.open("filename", 'a+') {|f| f.write("datatowrite\n)}
6
Steve
File.open('filename', 'a'){ |outfile|
  CSV::Writer.generate(outfile) do |csv|
    csv << ['c1', nil, '', '"', "\r\n", 'c2']
  end
}
2
rafamart