如何将数据附加到csv文件

时间:2012-07-11 06:25:11

标签: ruby-on-rails ruby ruby-on-rails-3

我想将数据附加到csv文件。我使用html表单从用户那里获取数据。我当前的代码将数据添加到csv文件,但它不会附加。因此,当用户输入其详细命中注册按钮时,它会删除先前添加的数据,在该位置插入新数据。那么如何添加新数据以便将其保存在下一行并保留其余数据呢?

这就是我在做什么。

full_name = params["full_name"]
email = params["email"]
phone = params["phone"]
organization = params["organization"]
job = params["job"]
diet = params["diet"]
address = params["address"]
code = params["code"]
city = params["city"]
cost_pool = params["cost_pool"]

CSV.open("participants_info.csv", "wb") do |csv|
  csv << [full_name, email, phone, organization, job, diet, address, code, city, cost_pool]
end

4 个答案:

答案 0 :(得分:13)

  

``a''只写,如果文件存在则从文件末尾开始,否则   创建一个用于写入的新文件。

     

``a +''读写,从结尾处开始   文件是否存在,否则创建一个新文件进行读取和   写

使用CSV.open("participants_info.csv", "a+")

答案 1 :(得分:3)

以追加模式(ab)打开文件

CSV.open("participants_info.csv", "ab") do |csv|
#...
end

答案 2 :(得分:1)

File.open('filename', 'a'){ |outfile|
  CSV::Writer.generate(outfile) do |csv|
    csv << ['c1', nil, '', '"', "\r\n", 'c2']
  end
}

答案 3 :(得分:0)

要附加文件,请使用以下代码:

CSV.open("participants_info.csv", "ab") do |csv|