ruby - 如何正确写入CSV文件

标签 ruby csv

我正在使用 ruby​​ 1.9.2 并且还使用它的 csv 库。我只想正确地写入 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]

提前致谢..

最佳答案

我认为一般的 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

关于ruby - 如何正确写入CSV文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10702895/

相关文章:

ruby-on-rails - 如何安排 Rails 邮件在特定日期发送 (heroku)?

sql - 在 go 中将 "SELECT *"列读入 []string

mysql - Sql 查询从 csv 数据库获取票价

excel - VBA Excel 将文件导出为 .csv,并将数据保留在正确的列中

python-3.x - 当我尝试将数据帧输出到 csv 文件时,为什么我的输出只有一行?Python3/boto3

ruby-on-rails - 在一行中定义 stub /模拟期望/should_receive?

ios - Xcode - 构建应用程序 - 问题

ruby - 在 Ruby 中使用 LSA 转换从一组文档中发现同义词

sorting - 将 2 个大型排序 CSV 文件组合成一个文件

ruby - 在 Sinatra 中,生产环境和开发环境有什么区别?