Add_province.py 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148
  1. import os
  2. # def get_mysql():
  3. # """
  4. # 建立并返回一个到数据库的连接对象
  5. # """
  6. # import pymysql
  7. # return pymysql.connect(
  8. # host='localhost', # 修改后的主机
  9. # port=3306, # 添加端口号
  10. # user='root', # 修改后的用户名
  11. # password='dfwy2025', # 修改后的密码
  12. # db='drug_data', # 修改后的数据库名
  13. # charset='utf8mb4'
  14. # )
  15. from config import Config
  16. def get_mysql():
  17. """
  18. 建立并返回一个到数据库的连接对象
  19. """
  20. import pymysql
  21. return pymysql.connect(
  22. host = Config.DB_HOST, #"localhost", # 修改后的主机
  23. port = Config.DB_PORT, #3306, # 添加端口号
  24. user = Config.DB_USER, #'root', # 修改后的用户名
  25. password = Config.DB_PASSWORD, # 修改后的密码
  26. db = Config.DB_NAME, #"drug_data", # 修改后的数据库名
  27. charset='utf8mb4'
  28. )
  29. def main():
  30. # 连接数据库
  31. conn = get_mysql()
  32. # 创建游标对象
  33. cur = conn.cursor()
  34. ##jd_shop_info_copy1
  35. query = f"""
  36. SELECT id, business_license_address
  37. FROM mt_shop_info_middle
  38. WHERE province = '' AND business_license_address != ''
  39. """
  40. cur.execute(query)
  41. results = cur.fetchall()
  42. print(f"results={results}")
  43. # 逐条处理每条数据
  44. for row in results:
  45. addr_id = row[0]
  46. address = row[1]
  47. print(f"address={address}")
  48. # address = '湖南省长沙市岳麓区西湖街道金星中路398号玛依拉山庄6栋113号'
  49. if '北京' in address:
  50. province = '北京'
  51. city = '北京'
  52. elif '天津' in address:
  53. province = '天津'
  54. city = '天津'
  55. elif '上海' in address:
  56. province = '上海'
  57. city = '上海'
  58. elif '重庆' in address:
  59. province = '重庆'
  60. city = '重庆'
  61. else :
  62. if '省' in address:
  63. province, _, rest_address = address.partition('省')
  64. #print('province ->', province)
  65. # print('rest_address ->', rest_address)
  66. if '市' in rest_address:
  67. city, _, rest_rest_address = rest_address.partition('市')
  68. # print('rest_rest_address ->', rest_rest_address)
  69. else:
  70. city = ''
  71. #print('city ->', city)
  72. else:
  73. province = ''
  74. if '市' in address:
  75. city, _, rest_address = address.partition('市')
  76. #print('city ->', city)
  77. # print('rest_address ->', rest_address)
  78. if (city == '深圳' or city == '广州' or city == '普宁' or city == '中山' or
  79. city == '惠州' or city == '茂名' or city == '韶关' or city == '佛山' or
  80. city == '汕头' or city == '东莞' or city == '揭阳' or city == '化州' or
  81. city == '清远' or city == '河源' or city == '湛江' or city == '英德' or
  82. city == '兴宁' or city == '开平' or city == '珠海'):
  83. province = '广东'
  84. elif city == '济南':
  85. province = '山东'
  86. elif (city == '成都' or city == '阆中' or city == '内江'):
  87. province = '四川'
  88. elif city == '武汉' or city == '潜江' or city == '当阳':
  89. province = '湖北'
  90. elif city == '合肥' or city == '淮南':
  91. province = '安徽'
  92. elif city == '太原' or city == '长治':
  93. province = '山西'
  94. elif city == '南宁' or city == '玉林' or city == '柳州' or city == '防城港':
  95. province = '广西'
  96. elif city == '长沙' or city == '衡阳':
  97. province = '湖南'
  98. elif (city == '郑州' or city == '禹州' or city == '南阳' or city == '永城' or
  99. city == '洛阳' or city == '焦作' or city == '济源'):
  100. province = '河南'
  101. elif (city == '南京' or city == '无锡' or city == '苏州' or city == '徐州' or
  102. city == '宿迁' or city == '淮安' or city == '泰州' or city == '扬州' or
  103. city == '盐城' or city == '连云港'):
  104. province = '江苏'
  105. elif city == '西安':
  106. province = '陕西'
  107. elif city == '贵阳':
  108. province = '贵州'
  109. elif city == '厦门':
  110. province = '福建'
  111. elif city == '邯郸' or city == '廊坊':
  112. province = '河北'
  113. elif city == '哈尔滨':
  114. province = '黑龙江'
  115. elif city == '长春':
  116. province = '吉林'
  117. else :
  118. city = ''
  119. #将省市的值写入到数据表中 #jd_shop_info_copy1
  120. update_sql = """
  121. UPDATE mt_shop_info_middle
  122. SET province = %s,
  123. city = %s
  124. WHERE id = %s
  125. """
  126. cur.execute(update_sql, (province, city, addr_id))
  127. conn.commit()
  128. if __name__ == '__main__':
  129. main()