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
分享到:
相关推荐
要从Ruby程序中导出数据到CSV文件,我们可以利用`FasterCSV`库,它为处理CSV文件提供了高效且灵活的方法。尽管在Ruby 1.9及更高版本中,`FasterCSV`已经被`csv`标准库所取代,但在某些情况下,开发者可能仍选择使用`...
导出为CSV on Rails的 这个简单的插件使您能够调用 to_csv 到一系列活动记录。 除了 :include 之外,构建器选项与 to_json / to_xml 相同。入门 在您的 Gemfile 中: gem 'to_csv-rails' # Last officially released...
"COPY"命令是PostgreSQL提供的一种高效的数据导入导出工具,可以直接从文件系统向数据库表复制数据,或者将数据库表的数据复制到文件系统。 在描述中提到,这个Gem(Ruby中的库或模块)使得ActiveRecord模型能够...
拿一个输入文件,对数据做一些处理,将智能分析吐出来。 用户说数据总是会以预期的格式出现,但是我想我将对报告消息进行一些快速验证,以确保检查是否有偶然的错别字或误点击。 有两种类型的条目,驾驶员和旅程。 ...
然而,有时在尝试连接Rails应用到MySQL数据库时,可能会遇到一些问题。本篇文章将深入探讨这些常见问题及其解决方案。 首先,Rails与MySQL的连接问题可能源于配置不正确。在`config/database.yml`文件中,你需要...
1. CSV 出口:FasterCSV(在 Rails 3.x 中)或 CSV(在 Rails 4.x 及以后版本)库用于生成 CSV 文件。这些库提供了方便的方法来写入数据行和列。 2. Excel 出口:Axlsx 是一个用于生成 Microsoft Excel XLSX 文件的 ...
解决方法是下载 libmySQL.dll 文件并将其放到 RUBY_HOME/bin/目录下。 四、开发体验 使用 Ruby on Rails 进行开发,可以体验到快速开发的优势。 Ruby on Rails 自动生成的代码也可以减少开发时间。Ruby on Rails ...
总的来说,配置Ruby on Rails的数据库涉及到安装必要的数据库驱动和Rails框架,然后在`database.yml`文件中正确设定数据库连接参数。理解这个过程对于开发基于Rails的应用程序至关重要,因为这使得Rails能够与各种...
Rails默认使用UTF-8编码,但文件系统或者某些外部服务可能使用其他编码,如GBK,这就可能导致在保存或读取中文文件名时出现问题。 首先,我们需要了解Rails中的文件上传是如何工作的。在Rails中,文件上传通常通过`...
这里,`database`路径指向SQLite数据库文件的位置。 6. **测试连接**: 创建新的Rails项目后,可以运行`rails db:create`命令来创建数据库,如果一切配置正确,应能成功创建。 7. **源码和工具**: 标签“源码 工具...
图书浏览器应用这是一个简单的Ruby on Rails(6)应用程序,它允许将CSV文件上传到S3并在页面上查看其内容。入门这些说明将为您提供在本地计算机上运行并运行的项目的副本,以进行开发和测试。先决条件在执行此操作...
然后,使用datapackage.json文件,Mira执行以下操作: 它将为datapackage.json文件中指定的每个CSV文件创建一个空的数据库表。 它为这些数据库表创建一个API,可用于读取和写入数据。 您可以通过上传CSV文件或使用...
来自practical rails social networking sites上的第二章的实例,应用了数据导入,导入数据到mysql后就可以使用,命令: rake db:migrate(进入文件夹"railscoder")
标题中的“Web开发敏捷之道--应用Rails进行敏捷Web开发 之 Depot代码”表明这是一个关于使用Ruby on Rails框架进行敏捷Web开发的示例项目,名为Depot。Ruby on Rails(简称Rails)是一个开源的Web应用程序框架,它...
"binge"是一个基于Ruby on Rails的引擎,其设计目的是帮助开发者更有效地处理CSV数据的导入,并提供出色的错误报告功能,以便在将这些数据导入Excel时遇到问题时能快速定位和解决问题。Rails是一个流行的Web应用程序...
这个gem提供了一个命令行工具,能够将数据库中的数据导出为YML格式,或者从YML文件中导入数据到数据库。 2. **安装依赖**:如果你选择使用`yaml_db`,你需要先确保你的系统中已经安装了Ruby环境,并通过RubyGems来...
这里,我们主要探讨如何将Rails应用转化为独立的可执行文件,结合提供的标题和描述,我们可以推测这个过程涉及到的主要技术包括源码打包和使用某种工具进行封装。 首先,Rails应用通常是基于Ruby语言,依赖于Ruby...
这将创建一个名为 `my_project` 的新 Rails 应用,并指定使用 Rails 2.3.2 版本。 5. **使用说明** - 本地安装的 Gem 使用方法与网络安装无异,你可以直接在项目中引用 Rails。不过,由于这是一个较旧的版本,...