用fasterCSV快速处理导入CSV文件

rails中使用fasterCSV解析csv文件比标准库的csv要快10倍左右
先安装fasterCSV
gem install fastercsv


[b]Views:[/b]
[color=red]index.rhtml[/color]
<% form_for :myform, :url=>{:controller=>"users", :action=>"import"}, :html => { :multipart => true } do |f| -%>
Select a CSV File :<%= f.file_field :file -%>
<%= submit_tag 'Submit' -%>
<% end -%>


[color=red]import.rhtml[/color]

<font color=red>OK!!!</font>


[b]Controller:[/b]
[color=red]import[/color]

require 'faster_csv'


def import
n=0
FasterCSV.parse(params[:myform][:file],:headers=>true)do |row|

user = User.new
user.username = row[0]
user.password = row[1]
user.save!
n=n+1
GC.start if n%50==0 #GC 是Rails 的垃圾收集器的类(Garbage Collector,GC)

flash.now[:notice]="CSV Import Successful, #{n} new records added to data base"
end
end

# :headers=>true 的意思是第一行存在行头,不导入数据库
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值