12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- # -*- coding: utf-8 -*-
- # @Time : 2022/12/5 10:45
- # @Author : XuJiakai
- # @File : pca_code_utils
- # @Software: PyCharm
- import json
- import os
- _module_path = os.path.dirname(__file__)
- f = open(os.path.join(_module_path, 'pca-code.json'), encoding='utf-8')
- _code_list = json.loads(f.read())
- _code_map = {}
- for i in _code_list:
- pro_code = i['code']
- pro_name = i['name']
- _code_map[pro_code] = (pro_name, None, None)
- if 'children' in i:
- for j in i['children']:
- city_code = j['code']
- city_name = j['name']
- _code_map[city_code] = (pro_name, city_name, None)
- if 'children' in j:
- for k in j['children']:
- con_code = k['code']
- con_name = k['name']
- _code_map[con_code] = (pro_name, city_name, con_name)
- pass
- pass
- pass
- def get_name(province_code, city_code=None, county_code=None):
- if province_code is None:
- return (None, None, None)
- if province_code not in _code_map:
- return (None, None, None)
- province, city, county = _code_map[province_code]
- if city_code and province_code + city_code in _code_map:
- city = _code_map[province_code + city_code][1]
- if county_code and province_code + city_code + county_code in _code_map:
- county = _code_map[province_code + city_code + county_code][2]
- return province, city, county
- pass
- if __name__ == '__main__':
- print(get_name('11'))
- print(get_name('11', '01'))
- print(get_name('11', '01', '01'))
- pass
|