大家好,这里是程序员晚枫,
今天我们继续学习Python自动化办公:每次有新员工入职,都要收集大量的工资卡信息,并且生成Excel文档,能不能用Python准确、快速地解决呢?
今天我们就来学习一下,如何用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"
}
支持对中国大陆主流银行卡正反面关键字段的检测与识别,包括卡号、卡类型、卡名字、银行信息、有效期。支持竖排异形卡识别、多角度旋转图片识别。支持对复印件、翻拍件、边框遮挡的银行卡进行告警,可应用于各种银行卡信息有效性校验场景,如金融行业身份认证、第三方支付绑卡等场景。
以上代码中,关于potencent-config.toml
的配置方法,可以参考昨天视频的讲解👇
的
第二步:写入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")
运行后的结果如下,会在同级目录下,生成一个Excel文件
第三步:优化思路
以上代码还可以进一步优化,例如:
- 路径处理改为Path方法,适配更多的平台
- 变量名称更简洁
- index改为序号
但优化的前提是程序能运行成功,赶紧去跑起来吧~
大家在阅读本文和使用代码中有任何问题,欢迎在评论区进行交流~