找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 文档 工具 设计
查看: 60|回复: 0

身份证信息简单识别并保存

[复制链接]

1万

主题

922

回帖

2万

积分

超级版主

教育辅助界扛把子

附加身份标识
精华
1
热心
2
听众
1
威望
57
贡献
12012
违规
0
书币
5705
注册时间
2020-4-8

论坛元老灌水之王

发表于 2023-7-19 20:22 | 显示全部楼层 |阅读模式
因为工作原因经常需要输入身份证信息到excel
基于百度文字识别功能简单写了个身份证图片识别
有需要可以参考下

[Python] 纯文本查看 复制代码
from aip import AipOcr
import glob,re, time
import openpyxl

APPID=
APIKEY=
SECRETKET=
client=AipOcr(APPID,APIKEY,SECRETKEY)

def get_path(path):#获取图片路径
      return glob.iglob(r".\%s\**\*[jpg,png]"%(path),recursiwe=True)

def open file(filePath) :#读取图片
     with open(filePath,'rb') as fp:
            return fp.read()

def get text (fileName] :#转换文本
      image = open_file(fileName)
      dic_result = client.basicGeneral(image)

      #time.sleep(1)
      res = dic_result['words_result’]
      result=''
      for m in res:
           result=result+str (m['words’])
      return result

parse_text (aaa):#解析文本
      list1=[]
      list2=[]
      for i in aaa:
            ls_dict={}
            text=get_text(i)
            if re.search('认民身份号码',text):
                  try:
                        xm=re.search(r"名(.*?)性别",text).group(1)
                        sf=re.search(r"号码([\d|X|x]*)",text).group(1)
                        ls_dict['xm']=xm
                        ls_dict['sf']=sf
                        list1.append(ls_dict)
                 except:
                        continue
           else:
                 list2.append(text)
      return list1

def write_excel(bbb):#写入excel
      wb = openpyxl.Workbook()
      sheet = wb.active
      sheet['A1']='姓名'
      sheet['B1']='身份证号码'
      row=2
      for i in bbb:
            sheet.cell(row,1,i['xm'])
            sheet.cell(row,2,i['sf'])
            row += 1
            print(f"            {i['xm']}已录入…")
      wb.save("./人员明细.xlsx")

def main():
      path='aaa'
      aaa=get_path(path)
      aaa=list(aaa)

      print('正在解析图片信息....')
      print(f'大约需要{int(len(aaa)*2)}秒!'}
      bbb=parse_text(aaa)
      write_excel(bbb)
      print('录入完毕!!!')
      time.sleep(2)
if __name__=='__main__':
      main()

Great works are not done by strength, but by persistence! 历尽艰辛的飞升者,成了围剿孙悟空的十万天兵之一。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则 需要先绑定手机号


免责声明:
本站所发布的第三方软件及资源(包括但不仅限于文字/图片/音频/视频等仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢某程序或某个资源,请支持正版软件及版权方利益,注册或购买,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To: admin@cdsy.xyz

QQ|Archiver|手机版|小黑屋|城东书院 ( 湘ICP备19021508号-1|湘公网安备 43102202000103号 )

GMT+8, 2024-5-4 18:42 , Processed in 0.043731 second(s), 27 queries .

Powered by Discuz! CDSY.XYZ

Copyright © 2019-2023, Tencent Cloud.

快速回复 返回顶部 返回列表