首页 > 编程语言 >Python批量读取身份证信息录入系统和重命名

Python批量读取身份证信息录入系统和重命名

时间:2024-09-07 22:25:00浏览次数:7  
标签:重命名 Python 信息 处理 身份证 录入 日志 识别 图片

前言

大家好,

如果你对自动化处理身份证图片感兴趣,可以尝试以下操作:从身份证图片中快速提取信息,填入表格并提交到网页系统。如果你无法完成这个任务,我们将在“Python自动化办公2.0”课程中详细讲解实现整个过程。

实现过程概述:
模块与功能:

re 模块:用于从 OCR 识别出的文本中提取所需的信息。
日期模块:计算年龄。
pandas:处理和操作表格数据。
PaddleOCR:百度的 OCR 模块,适合中文文本识别。
concurrent.futures:实现并发处理,提高图片识别效率。请注意,CPU 性能较弱时,过多的并发可能导致识别不准确。
SimpleAutomation:封装了 Selenium 操作网页的功能,也可以直接使用 Selenium 实现网页自动化。
装饰器使用:

我们使用装饰器来分离代码逻辑,使代码更加清晰。装饰器可以用于日志记录、异常处理和函数计时等公共功能的重用。
过程安排:

批量处理:我们批量处理身份证图片,通过并发操作加快处理速度。
信息提取:利用 OCR 技术识别身份证中的文本信息,并使用正则表达式提取所需字段。
数据处理:使用 pandas 将提取的信息整理成表格。
信息提交:将处理后的数据填写到网页表单中,并提交。
这个过程涉及多个步骤和技术,代码需要经常编写和调试,以提高编程能

实现最终结果

需要把下面三张身份证,识别的文字,填入到对应下面的Excel 报表中。
并通过https://www.ztloo.com/profile__trashed/card/ 身份证录入页面,进行web自动化填入。

1. 导入所需库

logging: 标准库日志模块,用于记录日志信息。
os: 提供操作系统接口,主要用于文件路径操作。
re: 提供正则表达式支持,用于从文本中提取信息。
shutil: 提供高级文件操作功能,例如文件复制。
time: 提供时间相关功能,如延时。
datetime: 提供日期和时间处理功能。
loguru: 现代化的日志库,用于记录日志信息。
pandas: 提供数据结构和数据分析工具,用于处理和分析数据。
paddleocr: OCR 工具,用于文本识别。
concurrent.futures: 提供并发执行任务的功能。

2. 配置日志记录

设置了日志文件 ocr_task.log,并关闭了 PaddleOCR 的日志输出,以减少冗余日志信息。

3. OCRProcessor 类

3.1 初始化

init: 初始化 PaddleOCR 引擎和数据列表。

3.2 识别文本

recognize_text: 使用 PaddleOCR 对图片进行文本识别,返回识别的文本。

3.3 提取信息

extract_info: 使用正则表达式从识别的文本中提取身份证相关信息,包括姓名、性别、民族、出生日期、住址和身份证号码。

3.4 列出图片

list_images: 列出指定目录中的所有图片文件,支持 .png、.jpg、.jpeg 格式。

3.5 处理图片

process_img: 处理单张图片,进行 OCR 识别,提取信息并将结果记录到 self.data 列表中。

3.6 处理图片目录

process_imgs: 并行处理目录中的所有图片,使用 ThreadPoolExecutor 执行任务,并将处理结果保存在 ocr_results.xlsx 文件中。调用了 add_age_and_sort 方法对数据进行排序和添加年龄列。

3.7 计算年龄

calculate_age: 根据出生日期计算年龄。

3.8 添加年龄并排序

add_age_and_sort: 为数据添加年龄列,并按年龄从小到大排序。使用 pandas 处理数据。

3.9 重命名并保存图片

rename_and_save_images: 根据提取的身份证信息重命名图片,并保存到指定目录中。

3.10 处理和提交

process_and_submit: 执行完整的处理流程,包括初始化自动化工具、批量处理图片、重命名图片、提交信息到系统。使用 SimpleAutomation 进行网页操作,填写身份证系统表单。

3.11 提交信息到系统

write_idcard_system: 将提取的信息填写到身份证系统的表单中,包括姓名、性别、出生日期、地址、身份证号码。选择性别和民族选项,提交表单。

4. 使用示例

main 部分,创建了 OCRProcessor 实例,并调用 process_and_submit 方法处理指定目录下的图片并提交信息到系统。

标签:重命名,Python,信息,处理,身份证,录入,日志,识别,图片
From: https://blog.csdn.net/arron_12/article/details/142005446

相关文章

  • Python循环语句
    1-While循环语法:变量=初始值while条件判断:循环体(要循环执行的代码)条件控制语句注意:如果条件恒成立或者直接写True,就会出现无限循环示例:#打印99次,“我爱你”#变量先定义再使用i=1whilei<100:print("我爱你")i+=1whileTrue:......
  • Python——实现生日快乐祝福
    没注释的代码importturtleastimportmathasmimportrandomasrdefdrawX(a,i):  angle=m.radians(i)  returna*m.cos(angle)defdrawY(b,i):  angle=m.radians(i)  returnb*m.sin(angle)t.bgcolor("#d3dae8")t.setup(width=900,......
  • Python面向对象编程:学生类的实现与应用
    在现代编程中,面向对象编程(Object-OrientedProgramming,OOP)是一种非常重要的编程范式。它通过类和对象的概念,将现实世界的实体抽象成程序中的对象,从而实现对复杂系统的建模。本文将通过一个简单的学生类的例子,带大家了解如何使用Python实现面向对象编程。一、代码简介下面......
  • python爬虫连载14
    <tr>标记,定义表格的行,行内可以嵌套多个<td>或者<th>。属性bgcolor设置背景颜色,格式为bgcolor=”颜色值”。align设置水平方向对齐方式,left左对齐,right右对齐,center居中对齐,justify对行进行伸展,让每行都有相等的长度;char将内容对准指定字符。属性valign设置垂直对齐方式,top上对齐,mid......
  • python | pendulum,一个有趣的 日期和时间 Python 库!
    本文来源公众号“python”,仅用于学术分享,侵权删,干货满满。原文链接:pendulum,一个有趣的Python库!大家好,今天为大家分享一个有趣的Python库-pendulum。Github地址:https://github.com/sdispater/pendulum在处理日期和时间时,Python标准库中的datetime模块虽然功能强大,......
  • 用 Python 编写桌面时钟程序
    目录1.简介2.项目需求3.环境设置4.实现步骤4.1创建主窗口4.2显示时间4.3添加时间格式选项4.4添加字体和颜色选项4.5完善用户界面5.完整代码6.总结1.简介在这篇博文中,我们将探索如何使用Python和Tkinter库来创建一个简单但功能强大的桌面时钟程......
  • Python3 学习笔记4-列表、元组、字典、集合、条件控制和循环语句
    目录一、列表:(1)Python3 列表: (2) 访问列表中的值: (3)列表更新:(4)列表元素删除: (5)列表脚本操作符 : (6)列表截取与拼接: (7)嵌套列表: (8)列表之间比较: (9)列表函数使用方法: 二、元组:(1)创建元组:(2)访问元组元素:(3)元组切片:(4)元组拼接:(5)元组重复:(7)元组内置函数:(8)元组比较:(9)注意......
  • 基于python+flask框架的手机电子商城平台设计(开题+程序+论文) 计算机毕设
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着移动互联网技术的飞速发展,智能手机已成为人们日常生活中不可或缺的一部分。消费者对于手机的需求日益多样化,不仅关注手机的性能、品牌......
  • python科学计算:NumPy 数组的高级操作
    1基本数学函数NumPy提供了大量的数学函数来执行各种基本运算。这些函数可以作用于数组的每个元素,且支持广播机制。1.1三角函数NumPy提供了一组常见的三角函数,包括sin()、cos()、tan()及其反函数。importnumpyasnp#创建一个数组angles=np.array([0,np.pi......
  • 基于python+flask框架的基于Web的智能导诊系统(开题+程序+论文) 计算机毕设
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着医疗需求的日益增长和医疗资源的有限性,患者在就医过程中常面临挂号难、找对科室难、等待时间长等问题。传统医疗导诊模式已难以满足患......