自动化办公神器!用Python批量识别发票并录入到Excel表格!可以讨财务女神开心了!

这些都是我在网上找的发票啊 肯定不会把公司的发票拿出来做教程的!那我估计明天和财务小姐姐就都得卷铺盖滚蛋了!那还不恨死我啊!哈哈哈

提取目标:金额、名称、纳税人识别号、开票人。

最后将每一张发票的这四个内容保存到excel中:

需要用到得库


需要用到的库如下:

from PIL import Image as PI

import pyocr

import pyocr.builders

from cnocr import CnOcr

安装的命令如下:

pip install pyocr

pip install cnocr

安装还是非常简单的!

发票中含有中文内容,我们需要对图片中的中文进行识别,那么 cnocr 是一个不错的选择。

提示:安装好上面的库之外,还需要安装额外的exe文件,不然会出现下面这种错误

需要安装的exe文件:

1. ImageMagick

2. tesseract-OCR

这两个软件的安装过程就不再赘述了,大家可以自行搜索教程进行安装。

03.提取内容


下面以其中一张图片为例,讲解如何提取目标内容:金额、名称、纳税人识别号、开票人。

读取图片:pic/pic1.jpg

tool = pyocr.get_available_tools()[0]

img_url = “pic/pic1.jpg”

with open(img_url, ‘rb’) as f:

a = f.read()

new_img = PI.open(io.BytesIO(a))

提取金额

需要截取到发票中金额的位置

## 金额

left = 741

top = 420

right = 850

bottom = 445

image_text1 = new_img.crop((left, top, right, bottom))

#展示图片

image_text1.show()

这里的left、top、right、bottom的数值是通过多次修改定位而来。大家根据自己的发票内容去定位即可。

接着将图片中的数字提取出来

同样的,下面继续提取:名称

提取名称


left = 155

top = 450

right = 450

bottom = 470

image_obj2 = new_img.crop((left, top, right, bottom))

image_obj2.show()

这里的名称是中文的,咱们不能再像提取金额(数字)操作。需要使用到cnocr去将图片中的中文取出。

image_obj2.save(“tmp.jpg”)

ocr = CnOcr()

res = ocr.ocr(“tmp.jpg”)

print(“”.join(res[0]))

提取纳税人识别号


#纳税人识别号

left = 155

top = 470

right = 450

bottom = 490

image_text3 = new_img.crop((left, top, right, bottom))

#展示图片

image_text3.show()

txt3 = tool.image_to_string(image_text3)

print(txt3)

将图片中的纳税人识别号提取出来,结果如下:

提取开票人

left = 528

top = 550

right = 670

bottom = 600

image_obj4 = new_img.crop((left, top, right, bottom))

image_obj4.show()

image_obj4.save(“tmp.jpg”)

ocr = CnOcr()

res = ocr.ocr(“tmp.jpg”)
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Python开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

img

img

img

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注Python)

cn/img_convert/6c361282296f86381401c05e862fe4e9.png)

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注Python)

img
  • 7
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值