rails使用fasterCSV将csv文件导入到数据库

fasterCSV是一个处理 CSV 文件的库,
在ruby on rails中,使用fasterCSV解析csv文件比标准库的csv要快10倍左右

1.安装fasterCSV
gem install fastercsv

2.view层,import_user.rhtml
 <% form_for :user, :url=>{:controller=>"user", :action=>"import"}, :html => { :multipart => true } do |f| -%>   	
上传用户资料导入数据:
<%= file_field :user, :file, :id=>'csvfile' %>
<%= submit_tag 'Submit' -%>
<%= end %>

3.controller层
对上传过来的csv文件处理下,得到一个该csv文件的路径filepath
require 'fastercsv'
def import
FasterCSV.foreach(filepath) do |rows|
begin
User.transaction do
rows.each do |row|
user = User.new
user.username = row[0]
user.password = row[1]
user.save!
end
errorMessages << "操作成功!"
end
rescue Exception => e
errorMessages << e
errorMessages << "操作失败,请重新导入!"
end
end
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值