如何替换PaddleOCR中的Label.txt文件中识别错的身份证号码
1.准备
先找到PaddleOCR检测和识别后的结果文件(Label.txt),还有一份正确无误的身份证照片名字和身份证号码对应的文档(rec_shangye.txt),还有替换后的正确的结果文件(Label2.txt)
2.导包
import re
3.路径
label_path = "./Label.txt" # paddleocr的已标好的label路径
new_label_path = "./Label2.txt" # paddleocr的替换后的新的label路径
rec_path = "./rec_shangye.txt" # paddleocr的正确结果文件的路径
4.创建保存rec_shangye.txt中每行文本内容的列表
rec_list = [] # 创建保存rec_shangye.txt中每行文本内容的列表
with open(rec_path, "r") as r_file2:
for r2 in r_file2:
# print(r2) # 标准号码参考表的每一行文本信息
r2_content = r2.split("\t") # 把每一行内容用\t切分开,变成两个元素
rec_list.append(r2_content) # 把这两个元素一起保存在列表中保存在列表中
# print(rec_list) # [['0_0714.jpg', '622960866786784911\n'], ['1_0714.jpg', '6226822014401336344\n'], ...]
5.创建姓名和身份证号码的列表,并把rec_list中的内容添加进去
name_list = [] # 照片名字列表
number_list = [] # 身份证号码列表
for rec in rec_list:
# print(rec) # 打印显示每一个遍历的元素
name = rec[0] # 元素的第一个是照片名字
number = rec[1].replace("\n", "") # 元素的第二个去掉\n后是身份证号码
name_list.append(name) # 把照片名字添加到照片名字列表中
number_list.append(number) # 把身份证号码添加到身份证号码列表中
# print(name_list) # 显示照片名字列表 ['0_0714.jpg', '1_0714.jpg', ...]
# print(number_list) # 显示身份证号码列表 ['622960866786784911', '6226822014401336344', ...]
6.把名称列表和号码列表用键值对的形式保存在new_dict字典中
new_dict = {
} # 创建新的字典
for i, na in enumerate(name_list):
for j, num in enumerate(number_list):
if i == j: # 当照片名字和身份证号码的索引一致,把这一对值用键值对匹配的方式存到字典中
new_dict