`

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


分享到:
评论
1 楼 zxboom 2009-01-19  
非常感谢,好用。

相关推荐

    ruby导出csv文件

    要从Ruby程序中导出数据到CSV文件,我们可以利用`FasterCSV`库,它为处理CSV文件提供了高效且灵活的方法。尽管在Ruby 1.9及更高版本中,`FasterCSV`已经被`csv`标准库所取代,但在某些情况下,开发者可能仍选择使用`...

    to_csv-rails:导出到 csv 文件

    导出为CSV on Rails的 这个简单的插件使您能够调用 to_csv 到一系列活动记录。 除了 :include 之外,构建器选项与 to_json / to_xml 相同。入门 在您的 Gemfile 中: gem 'to_csv-rails' # Last officially released...

    Ruby-此Gem将使您的AR模型能够使用PostgreSQLCOPY命令以CSV格式导入导出数据

    "COPY"命令是PostgreSQL提供的一种高效的数据导入导出工具,可以直接从文件系统向数据库表复制数据,或者将数据库表的数据复制到文件系统。 在描述中提到,这个Gem(Ruby中的库或模块)使得ActiveRecord模型能够...

    ParseCSV:Rails应用解析CSV文件

    拿一个输入文件,对数据做一些处理,将智能分析吐出来。 用户说数据总是会以预期的格式出现,但是我想我将对报告消息进行一些快速验证,以确保检查是否有偶然的错别字或误点击。 有两种类型的条目,驾驶员和旅程。 ...

    rails和mysql数据库连接中出现的问题以及解决办法

    然而,有时在尝试连接Rails应用到MySQL数据库时,可能会遇到一些问题。本篇文章将深入探讨这些常见问题及其解决方案。 首先,Rails与MySQL的连接问题可能源于配置不正确。在`config/database.yml`文件中,你需要...

    rails-exporter-源码.rar

    1. CSV 出口:FasterCSV(在 Rails 3.x 中)或 CSV(在 Rails 4.x 及以后版本)库用于生成 CSV 文件。这些库提供了方便的方法来写入数据行和列。 2. Excel 出口:Axlsx 是一个用于生成 Microsoft Excel XLSX 文件的 ...

    Ruby on Rails安装及MySQL数据库配置指南

    解决方法是下载 libmySQL.dll 文件并将其放到 RUBY_HOME/bin/目录下。 四、开发体验 使用 Ruby on Rails 进行开发,可以体验到快速开发的优势。 Ruby on Rails 自动生成的代码也可以减少开发时间。Ruby on Rails ...

    Ruby on rails 数据库详细配置

    总的来说,配置Ruby on Rails的数据库涉及到安装必要的数据库驱动和Rails框架,然后在`database.yml`文件中正确设定数据库连接参数。理解这个过程对于开发基于Rails的应用程序至关重要,因为这使得Rails能够与各种...

    Rails中上传文件保存中文文件名乱码

    Rails默认使用UTF-8编码,但文件系统或者某些外部服务可能使用其他编码,如GBK,这就可能导致在保存或读取中文文件名时出现问题。 首先,我们需要了解Rails中的文件上传是如何工作的。在Rails中,文件上传通常通过`...

    Rails、Sqlite的dll文件及安装

    这里,`database`路径指向SQLite数据库文件的位置。 6. **测试连接**: 创建新的Rails项目后,可以运行`rails db:create`命令来创建数据库,如果一切配置正确,应能成功创建。 7. **源码和工具**: 标签“源码 工具...

    book-explorer:这是一个网络应用程序,用于浏览以CSV文件导入的图书

    图书浏览器应用这是一个简单的Ruby on Rails(6)应用程序,它允许将CSV文件上传到S3并在页面上查看其内容。入门这些说明将为您提供在本地计算机上运行并运行的项目的副本,以进行开发和测试。先决条件在执行此操作...

    mira:从CSV文件创建简单的API

    然后,使用datapackage.json文件,Mira执行以下操作: 它将为datapackage.json文件中指定的每个CSV文件创建一个空的数据库表。 它为这些数据库表创建一个API,可用于读取和写入数据。 您可以通过上传CSV文件或使用...

    rails简单实例_rake数据导入

    来自practical rails social networking sites上的第二章的实例,应用了数据导入,导入数据到mysql后就可以使用,命令: rake db:migrate(进入文件夹"railscoder")

    Web开发敏捷之道--应用Rails进行敏捷Web开发 之 Depot代码。

    标题中的“Web开发敏捷之道--应用Rails进行敏捷Web开发 之 Depot代码”表明这是一个关于使用Ruby on Rails框架进行敏捷Web开发的示例项目,名为Depot。Ruby on Rails(简称Rails)是一个开源的Web应用程序框架,它...

    binge:一个Rails引擎,可通过出色的错误报告帮助用户将CSV数据导入excel

    "binge"是一个基于Ruby on Rails的引擎,其设计目的是帮助开发者更有效地处理CSV数据的导入,并提供出色的错误报告功能,以便在将这些数据导入Excel时遇到问题时能快速定位和解决问题。Rails是一个流行的Web应用程序...

    导出数据库的所有数据成YML文件

    这个gem提供了一个命令行工具,能够将数据库中的数据导出为YML格式,或者从YML文件中导入数据到数据库。 2. **安装依赖**:如果你选择使用`yaml_db`,你需要先确保你的系统中已经安装了Ruby环境,并通过RubyGems来...

    终于知道怎么把rails Web程序打包成可执行文件了

    这里,我们主要探讨如何将Rails应用转化为独立的可执行文件,结合提供的标题和描述,我们可以推测这个过程涉及到的主要技术包括源码打包和使用某种工具进行封装。 首先,Rails应用通常是基于Ruby语言,依赖于Ruby...

    rails2.3.2gem本地安装包及使用说明

    这将创建一个名为 `my_project` 的新 Rails 应用,并指定使用 Rails 2.3.2 版本。 5. **使用说明** - 本地安装的 Gem 使用方法与网络安装无异,你可以直接在项目中引用 Rails。不过,由于这是一个较旧的版本,...

Global site tag (gtag.js) - Google Analytics