2025-09-10 09:27:40 +08:00
|
|
|
|
# 读取 Doc目录 数据库-2015-2024-v2.xlsx 文件内容
|
|
|
|
|
# pip install openpyxl
|
|
|
|
|
|
|
|
|
|
import openpyxl
|
2025-09-10 10:09:31 +08:00
|
|
|
|
|
|
|
|
|
from Config.Config import EXCEL_PATH
|
|
|
|
|
from Util.AreaUtil import query_area_info
|
|
|
|
|
|
|
|
|
|
file_name = EXCEL_PATH
|
2025-09-10 09:27:40 +08:00
|
|
|
|
|
2025-09-10 10:25:39 +08:00
|
|
|
|
# 初始化统计变量
|
|
|
|
|
success_count = 0
|
|
|
|
|
error_count = 0
|
|
|
|
|
error_details = []
|
|
|
|
|
|
2025-09-10 09:27:40 +08:00
|
|
|
|
# 读取Excel文件并获取所有sheet名称
|
|
|
|
|
try:
|
2025-09-10 10:09:31 +08:00
|
|
|
|
# 加载工作簿
|
2025-09-10 09:27:40 +08:00
|
|
|
|
workbook = openpyxl.load_workbook(file_name, read_only=True)
|
|
|
|
|
sheet_names = workbook.sheetnames
|
2025-09-10 10:09:31 +08:00
|
|
|
|
|
|
|
|
|
if sheet_names:
|
|
|
|
|
first_sheet = workbook[sheet_names[0]]
|
|
|
|
|
# 读取所有行数据
|
|
|
|
|
rows = list(first_sheet.iter_rows(values_only=True))
|
2025-09-10 10:25:39 +08:00
|
|
|
|
total_count = len(rows[2:]) # 排除表头的总数据行数
|
2025-09-10 10:09:31 +08:00
|
|
|
|
|
|
|
|
|
# 跳过前两行表头,从第三行开始处理数据
|
|
|
|
|
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:
|
2025-09-10 10:25:39 +08:00
|
|
|
|
success_count += 1
|
|
|
|
|
print(f"✅ 行 {row_num}: {area_name} -> 全称: {result['full_name']}, 行政区划码: {result['area_code']}")
|
2025-09-10 10:09:31 +08:00
|
|
|
|
else:
|
2025-09-10 10:25:39 +08:00
|
|
|
|
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("✅ 所有记录均成功匹配!")
|
2025-09-10 10:09:31 +08:00
|
|
|
|
|
2025-09-10 09:27:40 +08:00
|
|
|
|
workbook.close()
|
|
|
|
|
|
|
|
|
|
except FileNotFoundError:
|
2025-09-10 10:25:39 +08:00
|
|
|
|
print(f"🔴 错误:找不到文件 '{file_name}'")
|
2025-09-10 09:27:40 +08:00
|
|
|
|
except Exception as e:
|
2025-09-10 10:25:39 +08:00
|
|
|
|
print(f"🔴 读取Excel时发生错误:{str(e)}")
|