每当有新员工入职,人事小姐姐都要收集大量的工资卡信息,并且生成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://python-office-1300615378.cos.ap-chongqing.myqcloud.com/2-free-group.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新手软件工具礼包、基础视频教程/电子书、项目实战电子书/视频教程等等,直接在文末名片自取就好了,希望大家在新的一年学有所成!
运行后的结果如下,会在同级目录下,生成一个Excel文件。
第三步:优化思路
以上代码还可以进一步优化,例如:
- 路径处理改为Path方法,适配更多的平台
- 变量名称更简洁
- index改为序号
但优化的前提是程序能运行成功,大家赶紧去试试吧!