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 に答える