1. class HardWorker
  2. include Sidekiq::Worker
  3. require 'CSV'
  4. def perform(file_path)
  5. csv_text = File.read(file_path)
  6. csv = CSV.parse(csv_text, :headers => true)
  7. csv.each do |row|
  8. gis_road_link = GisRoadLink.new
  9. gis_road_link.no = row["NO"]
  10. gis_road_link.fno = row["FNO"]
  11. gis_road_link.tno = row["TNO"]
  12. gis_road_link.from_name = row["FROM_NAME"]
  13. gis_road_link.to_name = row["TO_NAME"]
  14. gis_road_link.name = row["NAME"]
  15. gis_road_link.cds = row["CDS"]
  16. gis_road_link.r_cds = row["R_CDS"]
  17. gis_road_link.len = row["LEN"]
  18. gis_road_link.ldkd = row["LDKD"]
  19. gis_road_link.jdcdkd = row["JDCDKD"]
  20. gis_road_link.fjdcdkd = row["FJDCDKD"]
  21. gis_road_link.rxdkd = row["RXDKD"]
  22. gis_road_link.jffgdkd = row["JFFGDKD"]
  23. gis_road_link.zyfgdkd = row["ZYFGDKD"]
  24. gis_road_link.hxkd = row["HXKD"]
  25. gis_road_link.f_t = row["F_T"]
  26. gis_road_link.t_f = row["T_F"]
  27. gis_road_link.dldj = row["DLDJ"]
  28. gis_road_link.jsfs = row["JSFS"]
  29. gis_road_link.fglx = row["FGLX"]
  30. gis_road_link.gjzyd = row["GJZYD"]
  31. gis_road_link.r_gjzyd = row["R_GJZYD"]
  32. gis_road_link.jtxtj = row["JTXTJ"]
  33. gis_road_link.r_jtxtj = row["R_JTXTJ"]
  34. gis_road_link.sjcs = row["SJCS"]
  35. gis_road_link.r_sjcs = row["R_SJCS"]
  36. gis_road_link.ldtxnl = row["LDTXNL"]
  37. gis_road_link.r_ldtxnl = row["R_LDTXNL"]
  38. gis_road_link.ldywhs = row["LDYWHS"]
  39. gis_road_link.r_ldywhs = row["R_LDYWHS"]
  40. gis_road_link.szxzq = row["SZXZQ"]
  41. gis_road_link.szjtxq = row["SZJTXQ"]
  42. gis_road_link.szjd = row["SZJD"]
  43. gis_road_link.szzt = row["SZZT"]
  44. gis_road_link.szfdtz = row["SZFDTZ"]
  45. gis_road_link.zhgxsj = row["ZHGXSJ"]
  46. gis_road_link.tpxx = row["TPXX"]
  47. gis_road_link.spxx = row["SPXX"]
  48. gis_road_link.version = version
  49. if gis_road_link.save
  50. puts ("No是:"+gis_road_link.no.to_s + '的数据导入成功')
  51. else
  52. puts ("No是:"+gis_road_link.no.to_s + '的数据导入失败')
  53. end
  54. end
  55. end

在rails 4 中 使用 CSV 组件来 把csv文件导入到数据库的更多相关文章

  1. 将csv格式的数据文件导入/导出数据库+添加新的字段

    最近一直忙于实验室的事情,没有好好更新博客,在抓包的过程中,遇到了很多问题. 因为我常用Wireshark将抓包信息导出为csv文件,这里简单mark一下将csv文件导入/导出到数据库的2种方法: 一 ...

  2. CSV文件导入到数据库中读取数据详解(接着上个帖子)

    一.controller层 二.SERVICE层 @Overridepublic Result importJinjiangAssessResult(MultipartFile file) throw ...

  3. Jmeter—6 CSV Data Set Config 通过文件导入数据

    线程组循环次数大于1的时候,请求里每次提交的数据都相同.有的系统限制了不能提交相同数据,我们通过 CSV Data Set Config 加载csv文件数据. 1 创建一个文本文件,输入参数值保存为. ...

  4. Jmeter入门6 参数化—CSV Data Set Config 通过文件导入数据

    线程组循环次数大于1的时候,请求里每次提交的数据都相同.有的系统限制了不能提交相同数据,我们通过 CSV Data Set Config 加载csv文件数据. 1 创建一个文本文件,输入参数值保存为. ...

  5. 大数据量.csv文件导入SQLServer数据库

    前几天拿到了一个400多M的.csv文件,在电脑上打开要好长时间,打开后里面的数据都是乱码.因此,做了一个先转码再导入数据库的程序.100多万条的数据转码+导入在本地电脑上花了4分钟,感觉效率还可以. ...

  6. 将csv文件导入sql数据库

    有一个csv文件需要导入到Sql数据库中,其格式为 “adb”,"dds","sdf" “adb”,"dds","sdf" ...

  7. POSTGRESQL 创建表结构、修改字段、导入导出数据库(支持CSV)

    这两个月经常使用postgresql,总结一些经常使用的语句: --创建表 CREATE TABLE customers ( customerid SERIAL primary key , compa ...

  8. Ruby Rails学习中:User 模型,验证用户数据

    用户建模 一. User 模型 实现用户注册功能的第一步是,创建一个数据结构,用于存取用户的信息. 在 Rails 中,数据模型的默认数据结构叫模型(model,MVC 中的 M).Rails 为解决 ...

  9. Ruby Rails学习中:关于测试的补充,MiniTest报告程序,Guard自动测试

    一. 关于测试的补充 1.MiniTest报告程序 为了让 Rails 应用的测试适时显示红色和绿色,我建议你在测试辅助文件中加入以下内容: (1).打开文件:test/test_helper.rb ...

随机推荐

  1. ftp

    1.url的确定 string ftpServerIP = "29.184.249.98"; string path=new Uri("ftp://"+ftpS ...

  2. 关于Microsoft CRM 2013自动保存Autosave功能的10点说明

    今天不经意翻看到以前记的笔记发现这个笔记觉得还是应该把它整理记录一下: 关于Microsoft CRM 2013自动保存Autosave功能的10点说明: 1.新建时不会自动保存,需要手动点击保存按钮 ...

  3. 正确理解javascript当中的面向对象

    认识面向对象: 为了说明 JavaScript 是一门彻底的面向对象的语言,首先有必要从面向对象的概念着手 , 探讨一下面向对象中的几个概念: 1.万物皆为空:万物皆对象 2.对象具有封装和继承特性 ...

  4. 在gitlab上setup CI

    安装gitlab runner docker pull gitlab/gitlab-runner 启动gitlab runner docker run -d --name gitlab-runner ...

  5. android 对View的延时更换内容

    一.当ImageView按下时可以跟换一张按下效果的图片进行显示,使用postDelayed即可以让view在规定时间后执行run()中的内容 img.setImageResource(R.drawa ...

  6. Halcon学习之条形码实时扫描

    dev_open_window(1,1,400,400,'blue',ThisHandle) create_bar_code_model([], [], BarCodeHandle) set_bar_ ...

  7. 在Android中使用Java 8的lambda表达式

    作为一名Java开发者,或许你时常因为缺乏闭包而产生许多的困扰.幸运的是:Java's 8th version introduced lambda functions给我们带来了好消息;然而,这咩有什 ...

  8. keepalived+nginx高可用负载均衡环境搭建

    上篇说道keepalived的环境搭建,本来keepalived结合lvs更有优势,但是也可以结合nginx来使用.下面接着说下nginx的环境搭建 环境信息: nginx(master)  192. ...

  9. SWT组件添加事件的四种方式

    在我们CS日常开发过程中会经常去为组件添加事件,我们常用的为AWT与SWT.SWT的事件模型是和标准的AWT基本一样的.下面将按照事件的四种写法来实现它. 一.匿名内部类的写法 new MouseAd ...

  10. 测试webAPP时图标背景一片黑色

    写了个web小程序,打包成APP后安装到手机里,在魅族手机里显示是正常的,但是在EMUI和MIUI中却显示一片黑色,搞了半天才发现原来是因为EMUI会自动给应用的图标裁剪圆角并加上背景色,背景色是系统 ...