在rails 4 中 使用 CSV 组件来 把csv文件导入到数据库

时间:2023-03-09 04:57:26
在rails 4 中 使用 CSV 组件来 把csv文件导入到数据库
  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