如何在Rails CSV中使用引号分隔值?

时间:2014-04-29 14:07:31

标签: ruby-on-rails ruby csv

我的CSV导出为:

"user_name,course_code,completion_date,completion_status,score"
621,BTB,2014/4/22,complete,100

但我希望它像:

"user_name","course_code","completion_date","completion_status","score"
"621","BTB","2014/4/22","complete","100"

生成导出的代码是:

  csv << ["user_name,course_code,completion_date,completion_status,score"]
  @completes.each do |quiz|
    csv << [member.id.to_s, apply_course_code(@section), quiz.updated_at.strftime('%Y/%-m/%-d'), 'complete', '100']
  end    

如何在CSV中生成引号分隔值?

1 个答案:

答案 0 :(得分:2)

您可以传递选项force_quotes: true以使用引号包装每个条目。但是在你的标题中你必须传递一组分离的字符串,如下所示:

CSV.generate(force_quotes: true) do |csv|
  csv << %w(user_name course_code completion_date completion_status score)
  @completes.each do |quiz|
    csv << [member.id.to_s, apply_course_code(@section), quiz.updated_at.strftime('%Y/%-m/%-d'), 'complete', '100']
  end  
end