# -*- 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