Files
YunNanProject/Tools/Check/T2_TestAreaNameMatch.py
2025-09-10 13:26:53 +08:00

61 lines
2.1 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 读取 Doc目录 数据库-2015-2024-v2.xlsx 文件内容
# pip install openpyxl
import openpyxl
from Config.Config import EXCEL_PATH
from Util.AreaUtil import query_area_info
file_name = EXCEL_PATH
# 初始化统计变量
success_count = 0
error_count = 0
error_details = []
# 读取Excel文件并获取所有sheet名称
try:
# 加载工作簿
workbook = openpyxl.load_workbook(file_name, read_only=True)
sheet_names = workbook.sheetnames
if sheet_names:
first_sheet = workbook[sheet_names[0]]
# 读取所有行数据
rows = list(first_sheet.iter_rows(values_only=True))
total_count = len(rows[2:]) # 排除表头的总数据行数
# 跳过前两行表头,从第三行开始处理数据
for row_num, row in enumerate(rows[2:], start=3):
# 假设行政区划名称在第一列索引0
if row and row[0]:
area_name = row[0]
result = query_area_info(area_name)
if result:
success_count += 1
print(f"✅ 行 {row_num}: {area_name} -> 全称: {result['full_name']}, 行政区划码: {result['area_code']}")
else:
error_count += 1
error_details.append(f"{row_num}: '{area_name}'")
print(f"❌ 行 {row_num}: 未找到 '{area_name}' 的相关信息")
# 输出汇总结果
print("\n==================== 匹配结果汇总 ====================")
print(f"📊 总记录数: {total_count}, 成功匹配: {success_count}, 匹配失败: {error_count}")
print(f"📈 匹配成功率: {success_count/total_count*100:.2f}%\n")
if error_details:
print("❌ 匹配失败详情:")
for detail in error_details:
print(f" - {detail}")
else:
print("✅ 所有记录均成功匹配!")
workbook.close()
except FileNotFoundError:
print(f"🔴 错误:找不到文件 '{file_name}'")
except Exception as e:
print(f"🔴 读取Excel时发生错误{str(e)}")