processQd.py 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. import pandas as pd
  2. import os
  3. import copy
  4. import re
  5. path = "/Users/xiaopengzhang/Downloads/qingdan/JD_QingDanXM.csv"
  6. a = pd.read_csv(path)
  7. print(a[a['qdbh']=='080904019'])
  8. def transform(bh):
  9. result = re.findall(r'\d{9}', bh)
  10. bh = result[0]
  11. info = []
  12. if bh[0:2] == '01':
  13. info.append("建筑与装饰工程")
  14. if bh[2:4] == '01':
  15. info.append("土石方工程")
  16. elif bh[2:4] == '02':
  17. info.append("地基处理与边坡支护工程")
  18. elif bh[2:4] == '03':
  19. info.append("桩基工程")
  20. elif bh[2:4] == '04':
  21. info.append("砌筑工程")
  22. elif bh[2:4] == '05':
  23. info.append("混凝土及钢筋混凝土工程")
  24. elif bh[2:4] == '06':
  25. info.append("金属结构工程")
  26. elif bh[2:4] == '07':
  27. info.append("木结构工程")
  28. elif bh[2:4] == '08':
  29. info.append("门窗工程")
  30. elif bh[2:4] == '09':
  31. info.append("屋面及防水工程")
  32. elif bh[2:4] == '10':
  33. info.append("保温、隔热、防腐工程")
  34. elif bh[2:4] == '11':
  35. info.append("楼地面装饰工程")
  36. elif bh[2:4] == '12':
  37. info.append("墙、柱面装饰与隔断、幕墙工程")
  38. elif bh[2:4] == '13':
  39. info.append("天棚工程")
  40. elif bh[2:4] == '14':
  41. info.append("油漆、涂料、裱糊工程")
  42. elif bh[2:4] == '15':
  43. info.append("其他装饰工程")
  44. elif bh[2:4] == '16':
  45. info.append("拆除工程")
  46. elif bh[2:4] == '17':
  47. info.append("建筑工程措施项目")
  48. elif bh[0:2] == '03':
  49. info.append("安装工程")
  50. elif bh[0:2] == '04':
  51. info.append("市政工程")
  52. elif bh[0:2] == '05':
  53. info.append("园林绿化工程")
  54. else:
  55. info.append("")
  56. parent = []
  57. for i in range(len(a)):
  58. print(i)
  59. print(a.iloc[i])
  60. row = a.iloc[i]
  61. if row['fbcch'].item() == 4:
  62. series = []
  63. j = i - 1
  64. while j > -1 and a.iloc[j]['fbcch'].item() != 3:
  65. j = j - 1
  66. if j == -1:
  67. raise Exception("")
  68. series.append(a.iloc[j]['xmmc'])
  69. k = j - 1
  70. while k > -1 and a.iloc[k]['fbcch'].item() != 2:
  71. k = k - 1
  72. if k == -1:
  73. raise Exception("")
  74. series.append(a.iloc[k]['xmmc'])
  75. l = k - 1
  76. while l > -1 and a.iloc[l]['fbcch'].item() != 1:
  77. l = l - 1
  78. if l == -1:
  79. raise Exception("")
  80. series.append(a.iloc[l]['xmmc'])
  81. series.reverse()
  82. parent.append(" ".join(series))
  83. else:
  84. parent.append("")
  85. new_ = pd.Series(parent, name="parent")
  86. df = pd.concat([a, new_.to_frame()], axis=1)
  87. df.to_csv("JD_QingDanXM_parent.csv")