每当有新员工入职,人事小姐姐都要收集大量的工资卡信息,并且生成Excel文档,看到小姐姐这么辛苦,我就忍不住要去帮她了…
于是我用1行代码就实现了自动识别银行卡信息并且自动生成Excel文件,小姐姐当场就亮眼汪汪的看着我,搞得我都害羞了~
第一步:识别一张银行卡
识别银行卡的代码最简单,只需要1行腾讯云AI的第三方库potencent的代码,如下所示。左右滑动,查看全部。?
# pip install potencent import potencent # 可以填写本地图片的地址:img_path,也可以填写在线图片的地址:img_url # 如果2个都填,则只用在线图片 res = potencent.ocr.BankCardOCR( img_path=r'C:\Users\文件夹\银行卡图片', img_url='https://www.yuucn.com/wp-content/uploads/2023/01/1674989865-d8ee5dd86315b9b.jpg', configPath=r'配置文件的信息,可以不填,默认是同级目录下的potencent-config.toml') print(res)
识别后的返回结果,几乎涵盖所有银行卡上肉眼可见的内容。?
{ "CardNo": "621700888888888889", "BankInfo": "建设银行(01050000)", "ValidDate": "08/2026", "CardType": "借记卡", "CardName": "龙卡通", "RequestId": "86b70007-3ef5-4b7e-8685-556b0a7df1c9" }
支持对我国大陆主流银行卡正反面关键字段的检测与识别,包括卡号、卡类型、卡名字、银行信息、有效期。支持竖排异形卡识别、多角度旋转图片识别。支持对复印件、翻拍件、边框遮挡的银行卡进行告警,可应用于各种银行卡信息有效性校验场景,如金融行业身份认证、第三方支付绑卡等场景。
第二步:写入Excel
想把上面这个代码用来识别大量银行卡信息,并且将识别后的返回数据,全部写入Excel文件。
代码如下?
import os from os.path import join import pandas as pd # home_path = "你存放大量银行卡图片的位置" home_path = r"C:\Users\Lenovo\Desktop\temp\test\card" res_df = pd.DataFrame() for (root, dirs, files) in os.walk(home_path): for file in files: single_res = potencent.ocr.BankCardOCR(img_path=join(root, file)) single_res = json.loads(single_res.to_json_string()) line_df = pd.DataFrame(single_res, index=[0]) print(line_df) res_df = res_df.append(other=line_df) print(res_df) res_df.to_excel(r"./银行卡信息.xlsx")
# 新的一年,给大家准备了全新的Python学习资料,送给各位正在学习Python或者还没开始学的小伙伴 # 包含了Python新手软件工具礼包、基础视频教程/电子书、项目实战电子书/视频教程等等 # 直接在这个Q裙 708525271 自取就好了,希望大家在新的一年学有所成!
运行后的结果如下,会在同级目录下,生成一个Excel文件。
第三步:优化思路
以上代码还可以进一步优化,例如:
- 路径处理改为Path方法,适配更多的平台
- 变量名称更简洁
- index改为序号
但优化的前提是程序能运行成功,大家赶紧去试试吧!