Ruby on rails 在ruby上将数组转换为CSV文件

Ruby on rails 在ruby上将数组转换为CSV文件,ruby-on-rails,arrays,ruby,database,csv,Ruby On Rails,Arrays,Ruby,Database,Csv,给定数组: a = [[111,"Tue, 30 Jun 2015 23:50:55 KST +09:00"],[123,"Tue, 30 Jun 2015 23:50:55 KST +09:00"]] 我想将此数组转换为一个新的CSV文件,其中包含新列,如下所示: user_id | created_at -------------------- 111 | Tue, 30 Jun 2015 23:50:55 KST +09:00 123 | Tue, 30 Jun 2015

给定数组:

a = [[111,"Tue, 30 Jun 2015 23:50:55 KST +09:00"],[123,"Tue, 30 Jun 2015 23:50:55 KST +09:00"]]
我想将此数组转换为一个新的CSV文件,其中包含新列,如下所示:

user_id | created_at
--------------------
111     | Tue, 30 Jun 2015 23:50:55 KST +09:00
123     | Tue, 30 Jun 2015 23:50:55 KST +09:00
我怎么用Ruby做这个?
提前感谢。

我通过适当的缩进(第二次编辑)成功地做到了这一点

headers = ["user_id", "created_at"]
CSV.open("myfile.csv", "w", :col_sep => "\t| ", :headers => true) do |csv|
  csv << headers
  csv << ["-"*(headers.join.length+4*headers.length)] #Header separator in the length of header columns + tabs
  a.each {|row| csv << row } #Adding rows for each element of a
end
headers=[“用户id”,“创建于”]
CSV.open(“myfile.CSV”、“w”,:col_sep=>“\t |”,:headers=>true)do | CSV|
csv
def导出
数组=[111,“2015年6月30日星期二23:50:55 KST+09:00”],[123,“2015年6月30日星期二23:50:55 KST+09:00”]
csv|u data=csv.generate do|csv|
csv“data.csv”)
结束

在模型中创建方法,我希望这对您有用。我的测试。你想干什么就干什么

CSV.generate(option) do |csv|
  csv << ['user_id', 'created_at']
    [[111,"Tue, 30 Jun 2015 23:50:55 KST +09:00"],[123,"Tue, 30 Jun 2015 23:50:55 KST +09:00"]].each do |array|
      csv << array
  end
end
CSV.generate(选项)do | CSV|

csv@sanfor,但我想我的问题有点不同,因为我的问题包括生成新列。提供的数组无效。应该是这样的
a=[[111,“周二,2015年6月30日23:50:55 KST+09:00”],[123,“周二,2015年6月30日23:50:55 KST+09:00”]
@gagangami
CSV.generate(option) do |csv|
  csv << ['user_id', 'created_at']
    [[111,"Tue, 30 Jun 2015 23:50:55 KST +09:00"],[123,"Tue, 30 Jun 2015 23:50:55 KST +09:00"]].each do |array|
      csv << array
  end
end