发布时间:2023-01-29 文章分类:编程知识 投稿人:李佳 字号: 默认 | | 超大 打印

每当有新员工入职,人事小姐姐都要收集大量的工资卡信息,并且生成Excel文档,看到小姐姐这么辛苦,我就忍不住要去帮她了…

于是我用1行代码就实现了自动识别银行卡信息并且自动生成Excel文件,小姐姐当场就亮眼汪汪的看着我,搞得我都害羞了~

使用Python实现高效摸鱼,批量识别银行卡号码并且自动写入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文件。

使用Python实现高效摸鱼,批量识别银行卡号码并且自动写入Excel表格

第三步:优化思路

以上代码还可以进一步优化,例如:

  • 路径处理改为Path方法,适配更多的平台
  • 变量名称更简洁
  • index改为序号

但优化的前提是程序能运行成功,大家赶紧去试试吧!