Добавить строку в CSV-файл Ruby 1.9 CSV lib - PullRequest
23 голосов
/ 18 августа 2010

Используя 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 ]

37 голосов
/ 18 августа 2010

Я думаю, что вы можете изменить открытое использование ab:

CSV.open("t.csv", "ab") do |csv|
6 голосов
/ 18 августа 2010

Я обычно буду использовать следующее для записи в файл CSV (или любой файл)

File.open("filename", 'a+') {|f| f.write("datatowrite\n)}
2 голосов
/ 15 января 2013
File.open('filename', 'a'){ |outfile|
  CSV::Writer.generate(outfile) do |csv|
    csv << ['c1', nil, '', '"', "\r\n", 'c2']
  end
}
...