2012-05-22 26 views
10

i yakut 1.9.2 kullanıyorum CSV dosyasına içine yazmak ve ayrıca library.I düzgün sadecedüzgün

bu

name,country_code,destination,code 
Afghanistan,93,Bamain,51 
Afghanistan,93,Bamain,52 
Afghanistan,93,Bamain,53 
Afghanistan,93,Parwan,91 

My kodu gibi csv yazmak istiyorum onun csv'yi kullanmak nasıl bu

olduğunu
def export_data 
    @coun = Country.all(:limit => 10) 
    header = "name,country_code,destination,code" 
    file = "my_file.csv" 
    File.open(file, "w") do |csv| 
    csv << header 
    @coun.each do |c| 
     csv << [c.name, c.country_code, c.user_id, c.subscriber_id]  
     # How puts line break here 
    end 
    end 
    send_file(file) 
end 

Ben CSV dosyasında orada kırmak ve aynı zamanda bu nefes ihmal satır koyar nasıl yukarıda söz var ki

kapakları CSV her satır "[]" önceden

Like ["Finland",1,1,2334] 

Teşekkür ..

cevap

28
csv << "\n" 

Stackoverflow bir cevap 30 karakter gerektirir, ancak ne diyeceğimi daha bilmiyorum.

+8

Belki açıklayabilir? – Tommyixi

58

Ben genel CSV yazar sizin için yeterince iyi olacağını düşünüyorum: neden bu işleri

require 'csv' 
... 
CSV.open(file, 'w') do |writer| 
    @coun.each do |c| 
    writer << [c.name, c.country_code, c.user_id, c.subscriber_id] 
    end 
end