红宝石与CSV文件自动添加下一行

时间:2019-05-16 05:39:04

标签: csv

def supplier_registeration

    print "Registration form :"
    print "\nName :"
    name = gets.chomp.downcase
    print "User Name :"
    user_name = gets.chomp.downcase
    print "Password :"
    password = gets.chomp.downcase
    print "contact :"
    contact = gets.chomp.to_i
    print "address :"
    address = gets.chomp.downcase 

    CSV.open("source/supplier.csv", "wb") do |csv|
      csv << ["name", "user name", "password", "contact", "address"]
      csv << [name, user_name, password, contact, address]
    end
    print "Registration successfully..!\n"
    supplier

end

此方法将写入CSV文件,但是在下一个注册条目上,我的文件将重写初始数据。如何自动将用户输入追加到下一行?

1 个答案:

答案 0 :(得分:0)

这是上述问题的答案

  'headers = ['name','user name','password','contact','address']
  CSV.open('source/consumer_list.csv', 'a+', {force_quotes: true}) do |csv|
    csv << headers if csv.count.eql? 0
    csv << [name, user_name, password, contact, address]
  end'