6

我想将数据附加到 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

4 回答 4

18

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

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

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

于 2012-07-11T06:37:22.497 回答
3

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

CSV.open("participants_info.csv", "ab") do |csv|
#...
end
于 2012-07-11T06:41:57.210 回答
3
File.open('filename', 'a'){ |outfile|
  CSV::Writer.generate(outfile) do |csv|
    csv << ['c1', nil, '', '"', "\r\n", 'c2']
  end
}
于 2013-01-15T12:26:20.440 回答
0

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

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

于 2014-06-26T04:58:54.677 回答