实战案例!Python批量识别银行卡号码并且写入Excel,小白也可以轻松使用~

简介: 简单,学起来

大家好,这里是程序员晚枫,

今天我们继续学习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改为序号

但优化的前提是程序能运行成功,赶紧去跑起来吧~


大家在阅读本文和使用代码中有任何问题,欢迎在评论区进行交流~

相关文章
|
4天前
|
调度 开发者 UED
探索Python中的异步编程:从基础到实战
【9月更文挑战第30天】在编程的世界里,异步编程是一个强大的概念,它允许程序在等待某些操作完成时继续执行其他任务。本文将深入探讨Python中的异步编程,从理解其基本概念开始,逐步过渡到高级应用。我们将通过具体的代码示例来展示如何在实际项目中实现异步功能,从而提高应用程序的性能和响应性。无论你是初学者还是有经验的开发者,这篇文章都将为你提供宝贵的见解和实用技巧。
|
2天前
|
存储 数据处理 开发者
深入浅出:Python编程基础与实战技巧
【9月更文挑战第32天】本文将引导读者从零开始,掌握Python编程语言的核心概念,并通过实际代码示例深入理解。我们将逐步探索变量、数据结构、控制流、函数、类和异常处理等基本知识,并结合实用案例,如数据处理、文件操作和网络请求,提升编程技能。无论您是初学者还是有一定经验的开发者,这篇文章都能帮助您巩固基础,拓展视野。
|
1天前
|
SQL 数据采集 数据可视化
深入 Python 数据分析:高级技术与实战应用
本文系统地介绍了Python在高级数据分析中的应用,涵盖数据读取、预处理、探索及可视化等关键环节,并详细展示了聚类分析、PCA、时间序列分析等高级技术。通过实际案例,帮助读者掌握解决复杂问题的方法,提升数据分析技能。使用pandas、matplotlib、seaborn及sklearn等库,提供了丰富的代码示例,便于实践操作。
101 64
|
1天前
|
数据采集 存储 数据挖掘
深入探索 Python 爬虫:高级技术与实战应用
本文介绍了Python爬虫的高级技术,涵盖并发处理、反爬虫策略(如验证码识别与模拟登录)及数据存储与处理方法。通过asyncio库实现异步爬虫,提升效率;利用tesseract和requests库应对反爬措施;借助SQLAlchemy和pandas进行数据存储与分析。实战部分展示了如何爬取电商网站的商品信息及新闻网站的文章内容。提醒读者在实际应用中需遵守法律法规。
100 66
|
2天前
|
设计模式 开发者 Python
探索Python中的异步编程:从基础到实战
【9月更文挑战第32天】在Python的世界中,异步编程是一种让程序在等待任务完成时不阻塞的技术。本文将通过浅显易懂的方式,带领读者了解异步编程的核心概念、常用库及其在实际项目中的应用。我们将从异步IO的基础知识出发,逐步深入到asyncio库的使用,最后通过一个简易Web服务器的示例,演示如何将理论应用到实践中。文章旨在为初学者提供一个清晰的学习路径,帮助他们掌握Python异步编程的精髓。
|
7天前
|
机器学习/深度学习 数据采集 数据可视化
跟着penguins案例学Seaborn之Pairplot
跟着penguins案例学Seaborn之Pairplot
13 1
|
7天前
|
Linux
跟着mpg案例学Seaborn之Jointplot
跟着mpg案例学Seaborn之Jointplot
17 1
|
7天前
|
数据可视化
跟着exercise案例学Seaborn之FacetGrid
跟着exercise案例学Seaborn之FacetGrid
10 0
|
存储 缓存 NoSQL
实战|教你用Python玩转Redis
之前辰哥已经给大家教了Python如何去连接Mysql(实战|教你用Python玩转Mysql),并进行相应操作(插、查、改、删)。除了Mysql外,Python最常搭配的数据库还有Redis。 那么今天辰哥就来给大家讲解一下Python如何使用Redis,并进行相关的实战操作。
459 0
|
1天前
|
机器学习/深度学习 人工智能 数据可视化
Python比较适合哪些场景的编程?
Python比较适合哪些场景的编程?
14 7
下一篇
无影云桌面