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. php:微信公众号token验证失败原因、验证码显示不出来的问题

    ob_clean(); 问题描述: 用微信官方提供的demo验证token是成功的,但是放到自己网站的框架上进行token验证老是提示"token验证失败",经过检查(用生成日志的 ...

  2. python的类与对象

    类与对象 1.什么是类 类和函数一样是程序编程的一种方式,在处理某些问题的时候类比函数更加适合让编程变得简化,在python里面函数式编程和类编程都是为了简化代码的一种编程方式,具体应用那个则由具体问 ...

  3. 100 Door Puzzle

    问题重述: There are 100 doors in a long hallway. They are all closed. The first time you walk by each do ...

  4. redis实现tomcat集群session共享

    1.部署两个tomcat节点,使用nginx实现集群(见http://www.cnblogs.com/zhangzhi0556/articles/nginx.html):   2.redis安装(见h ...

  5. 模板:正则替换之后生成标准的php文件 然后include该文件

    http://www.360doc.com/content/12/0808/16/10388890_229034643.shtml

  6. JavaScript 随笔2 面向对象 原型链 继承

    第六章 面向对象的程序设计 1.创建对象的几种方式 A)工厂模式 function CreatObj(name,sex,age){ this.name=name; this.sex=sex; this ...

  7. Android之listview && adapter

    今天我们讲的也是非常重要的一个控件listview-最常用也是最难的 一个ListView通常有两个职责. (1)将数据填充到布局. (2)处理用户的选择点击等操作. 第一点很好理解,ListView ...

  8. C# 科学计数法转换成数字

    /// <summary> /// 判断输入的数是否是科学计数法.如果是的话,就会将其换算成整数并且返回,否则就返回false. /// </summary> /// < ...

  9. MAGENTA: Meta-Analysis Gene-set Enrichment of variaNT Associations

    MAGENTA是一款计算工具,利用全基因组遗传数据,计算预先设定的涉及生物过程或者功能性基因集在遗传相关性的富集程度.开发的目的是分析基因型不是现成的数据集,比如大型的全基因组关联荟萃分析.在以下两种 ...

  10. js面向对象编程:if中可以使用那些作为判断条件呢?

    作者来源http://www.2cto.com/kf/201407/314978.html搬运 在所有编程语言中if是最长用的判断之一,但在js中到底哪些东西可以在if中式作为判断表达式呢? 例如如何 ...