18

ruby 1.9.2 を使っていて、その csv ライブラリも使っています。

このような

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

私のコードはこれです

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

CSVファイルに改行を挿入する方法について上記で言及しましたが、このため息も省略します

CSV"[]" のすべての行をカバー

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

前もって感謝します..

4

2 に答える 2

76

一般的な CSV ライターで十分だと思います。

require 'csv'
file = "my_file.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
于 2012-05-22T13:49:18.797 に答える
37
csv << "\n"

Stackoverflowの回答には30文字が必要ですが、これ以上何を言うべきかわかりません。

于 2012-05-22T13:46:29.703 に答える