我试图将 csv 导出到数据库。CSV 包含一些我不想存储在数据库中的不需要的数据。我需要从获取的 csv 中跳过特定列,并将其余数据存储在我的数据库中。在将数据推送到数据库之前,如何以编程方式从 csv 中删除特定列。我正在使用红宝石 1.9.2。
请帮帮我
def csv_import
#@parsed_file = csv.open(params[:dump][:file])
puts "before CSV Reader"
file = params["dump"]["file"]
directory = "#{Rails.root.to_s}/public/dump"
# create the file path
path = File.join(directory, "#{file.original_filename}")
# write the file
File.open(path, "wb") { |f| f.write(file.read) }
@parsed_file=CSV.open(path, "r")
@parsed_file.drop(1).each do |row|
n=0
c=ModelName.new
c.invoiceno=row[2]
c.invoice_date=row[3]
c.orderrefno = row[4]
c.skucode = row[7]
c.quantiy = row[8]
c.amount = row[9]
c.trackno=row[11]
c.dispatched = "No"
c.mailsenttoc = "No"
c.mailsenttobluedart = "No"
if c.save
n=n+1
GC.start if n%50==0
end
end
end
如您所见,我跳过了几列,例如 1,5,6,10