Chinaunix首页 | 论坛 | 博客
  • 博客访问: 821024
  • 博文数量: 754
  • 博客积分: 7000
  • 博客等级: 少将
  • 技术积分: 5005
  • 用 户 组: 普通用户
  • 注册时间: 2008-09-12 12:54
文章分类

全部博文(754)

文章存档

2011年(1)

2008年(753)

我的朋友
最近访客

分类:

2008-09-12 13:09:42

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

    gem install fastercsvViews: index.rhtml 代码
    <% 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 -%>
    <% 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 -%>

    <% 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 -%>import.rhtml Java代码
    OK!!!
    OK!!!

    OK!!!Controller: import Java代码
    require 'faster_csv'
    require 'faster_csv'

    require 'faster_csv'Java代码
    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
   
    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

    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 的意思是第一行存在行头,不导入数据库

【责编:landy】

--------------------next---------------------

阅读(635) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~