2010-08-17 27 views

cevap

29

Ben açık ab kullanmak değiştirebilir düşünüyorum

File.open("filename", 'a+') {|f| f.write("datatowrite\n)} 
8

Genellikle bir csv dosyası (Veya herhangi dosyası) yazmak için aşağıdaki kullanacak:

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

'a +' okuma * ve * [yazma/ekleme] için olduğunu unutmayın (http://ruby-doc.org/docs/ProgrammingRuby/html/ref_c_io.html). Sadece eklemeniz gerekiyorsa, o zaman 'a' yeterlidir. Ayrıca, diğer mod ayarları ile kombinasyon halinde, [File :: APPEND] (http://ruby-doc.org/docs/ProgrammingRuby/html/ref_c_file.html) özelliğini de kullanabilirsiniz. –

+0

Her zaman bir + kullanmalıyız, çünkü mevcut değilse dosya yaratacaktır. – user1735921

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

AFAIK CSV :: Yazarı [Ruby 1.9'da mevcut değil] (http://stackoverflow.com/a/2140482/514483) – robd