如何将数据附加到csv文件

Om3*_*3ga 3 ruby ruby-on-rails 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
Run Code Online (Sandbox Code Playgroud)

Hit*_*eeb 15

``a''只写,如果文件存在则从文件末尾开始,否则创建一个新文件进行写入.

``a +''读写,如果文件存在则从文件末尾开始,否则创建一个新文件进行读写

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

  • 只是“a”更好。“a+”具有误导性,因为您无法真正从中读取内容。 (2认同)
  • 此外,如果 OP 使用 Ruby 1.8.7,则“a”将不起作用,您将收到以下错误 `ArgumentError: 'mode' must be 'r', 'rb', 'w', or 'wb' ` (2认同)