diff --git a/Util/AreaUtil.py b/Util/AreaUtil.py index 7b20836..6ccd316 100644 --- a/Util/AreaUtil.py +++ b/Util/AreaUtil.py @@ -78,25 +78,25 @@ def load_yunnan_area_data(): def query_area_info(query_str): """ - 查询行政区划信息 + 查询行政区划信息(优化版) :param query_str: 简称或全称 :return: 包含full_name和area_code的字典,未找到返回None """ - # 加载数据 - abbrev_map, fullname_map = load_jiancheng_data() - yunnan_area_map = load_yunnan_area_data() - # 1. 先查简称映射表 if query_str in abbrev_map: return abbrev_map[query_str] - - # 2. 再查全称映射表 - if query_str in fullname_map: - return fullname_map[query_str] - - # 3. 最后查完整行政区划数据 + + # 2. 直接查询完整行政区划数据(新增) if query_str in yunnan_area_map: return yunnan_area_map[query_str] - - # 未找到 + + # 3. 最后查全称映射表 + if query_str in fullname_map: + return fullname_map[query_str] + + # 4. 尝试模糊匹配(新增) + for name, info in yunnan_area_map.items(): + if query_str in name or name in query_str: + return info + return None diff --git a/Util/__pycache__/AreaUtil.cpython-310.pyc b/Util/__pycache__/AreaUtil.cpython-310.pyc index 11a32e6..46e7e08 100644 Binary files a/Util/__pycache__/AreaUtil.cpython-310.pyc and b/Util/__pycache__/AreaUtil.cpython-310.pyc differ