Python实现批量识别银行卡号码以及自动写入Excel表格步骤详解

作者:轻松学Python 时间:2023-12-12 21:39:18 

每当有新员工入职,人事小姐姐都要收集大量的工资卡信息,并且生成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://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文件。

Python实现批量识别银行卡号码以及自动写入Excel表格步骤详解

第三步:优化思路

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

  • 路径处理改为Path方法,适配更多的平台

  • 变量名称更简洁

  • index改为序号

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

来源:https://blog.csdn.net/ooowwq/article/details/128789287

标签:Python,识别,银行卡
0
投稿

猜你喜欢

  • 基于Python实现的购物商城管理系统

    2021-08-27 15:06:43
  • 详解TensorFlow训练网络两种方式

    2021-06-24 00:18:23
  • jQuery中ajax和post处理json的不同示例对比

    2024-04-16 08:54:10
  • cpan安装Net::SSH::Perl中遇到的一些问题

    2023-05-14 04:40:55
  • python消费kafka数据批量插入到es的方法

    2023-04-30 18:10:47
  • 一篇文章弄懂Python中所有数组数据类型

    2023-01-12 18:25:05
  • python的多元数据类型(下)

    2023-06-17 02:45:11
  • Django vue前后端分离整合过程解析

    2022-04-07 21:01:04
  • python基于property()函数定义属性

    2022-11-01 04:55:14
  • Go应该如何实现二级缓存

    2024-02-19 17:07:53
  • 分析Python的Django框架的运行方式及处理流程

    2022-03-13 14:47:50
  • 微软建议的ASP性能优化28条守则(3)

    2008-02-24 16:30:00
  • Python实现消消乐小游戏

    2021-02-19 19:37:42
  • pytorch collate_fn的基础与应用教程

    2021-06-03 02:55:57
  • mysql数据库是做什么

    2024-01-16 04:18:16
  • python GUI库图形界面开发之PyQt5布局控件QVBoxLayout详细使用方法与实例

    2022-10-12 11:37:27
  • 解决pytorch-gpu 安装失败的记录

    2023-04-04 05:44:44
  • 详解Python自动化中这八大元素定位

    2023-06-04 18:25:34
  • asp文章上一篇,下一篇实现代码

    2008-03-24 20:15:00
  • Python while、for、生成器、列表推导等语句的执行效率测试

    2021-03-05 02:17:54
  • asp之家 网络编程 m.aspxhome.com