首页 > 解决方案 > 带有csv文件的ruby自动添加下一行

问题描述

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 文件,但在下一个注册条目时,我的文件会重写初始数据。如何自动将用户输入附加到下一行?

标签: csv

解决方案


这是上述问题的答案

  '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'

推荐阅读