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