首页 > 编程语言 ># yyds干货盘点 # Python自动化办公之PDF版本发票识别并提取关键信息实战教程(上篇)

# yyds干货盘点 # Python自动化办公之PDF版本发票识别并提取关键信息实战教程(上篇)

时间:2023-10-17 21:33:01浏览次数:57  
标签:yyds 粉丝 Python 代码 中括号 PDF 发票 识别

大家好,我是皮皮。

一、前言

前几天在Python白银交流群【上海新年人】问了一个Python自动化办公发票数据处理的问题,一起来看看吧。

# yyds干货盘点 # Python自动化办公之PDF版本发票识别并提取关键信息实战教程(上篇)_数据处理

二、实现过程

这个问题在实际工作中还是非常常见的,实用性和通用性都比较强,历史文章中其实也有写过几篇文章,这里继续给大家敲敲脑壳。

不过这里还涉及到一个场景,其实这个数据来源是pdf发票识别,然后存为Excel的,所以看上去格式还比较乱。

# yyds干货盘点 # Python自动化办公之PDF版本发票识别并提取关键信息实战教程(上篇)_Python_02

就是pdf里面有中括号,你提取来之后就把中括号带出来了,然后希望把中括号去掉,并且每列的每行都分成两列。

粉丝自己写了一个代码和正则表达式,但是出来的结果不尽人意,想在群里寻求大佬们的帮助。这里【甯同学】给了一个思路和代码,如下所示:

# yyds干货盘点 # Python自动化办公之PDF版本发票识别并提取关键信息实战教程(上篇)_数据_03

看上去确实可以得到正确的结果:

# yyds干货盘点 # Python自动化办公之PDF版本发票识别并提取关键信息实战教程(上篇)_Python入门_04

这个'\xa5' 的意思就是一个文字编码的问题,计算机本身不识别输入的东西需要先把它们翻译成计算机可以识别的。这里的结果看上去数据是一行,粉丝要的是里面几个数字,可以试试看转列表,然后索引取:

# yyds干货盘点 # Python自动化办公之PDF版本发票识别并提取关键信息实战教程(上篇)_数据_05

不过粉丝还补充了下面的这个情况,然后【甯同学】继续给出了对应的思路:

# yyds干货盘点 # Python自动化办公之PDF版本发票识别并提取关键信息实战教程(上篇)_Python基础_06

下一篇文章我们一起来看具体的代码,敬请期待!

三、总结

大家好,我是皮皮。这篇文章主要盘点了一个Python自动化办公发票数据处理的问题,文中针对该问题,给出了具体的解析和代码实现,帮助粉丝顺利解决了问题。

最后感谢粉丝【上海新年人】提问,感谢【论草莓如何成为冻干莓】、【甯同学】、【瑜亮老师】、【FANG.J】、【袁学东】给出的思路和代码解析,感谢【顾德猫宁】、【Day_dreamer】等人参与学习交流。

【提问补充】温馨提示,大家在群里提问的时候。可以注意下面几点:如果涉及到大文件数据,可以数据脱敏后,发点demo数据来(小文件的意思),然后贴点代码(可以复制的那种),记得发报错截图(截全)。代码不多的话,直接发代码文字即可,代码超过50行这样的话,发个.py文件就行。

# yyds干货盘点 # Python自动化办公之PDF版本发票识别并提取关键信息实战教程(上篇)_Python入门_07

标签:yyds,粉丝,Python,代码,中括号,PDF,发票,识别
From: https://blog.51cto.com/u_13389043/7909614

相关文章

  • 代码随想训练营第四天(Python)| 24. 两两交换链表中的节点、19.删除链表的倒数第N个节点
    两两交换链表中的节点关键点:涉及到头节点变动的都使用虚拟节点。画图找出交换节点指向的顺序和退出循环的条件。1、迭代法classSolution:defswapPairs(self,head:Optional[ListNode])->Optional[ListNode]:dummy_node=ListNode(next=head)cur=......
  • Python 当前工作路径、当前文件路径
    在BCP源码中,涉及到路径问题,先描述下问题,我运行的文件在BCP/code/LA_BCP_train.py,我希望在索引的时候使用的是BCP/code这个地址,但是实际上是BCP/,这里涉及Python的当前文件路径和当前工作路径。当前工作路径是BCP/,相对路径是基于这个路径,可以通过os.path.getcwd()获取当前文件路......
  • Python随机波动性SV模型:贝叶斯推断马尔可夫链蒙特卡洛MCMC分析英镑/美元汇率时间序列
    全文链接:https://tecdat.cn/?p=33885原文出处:拓端数据部落公众号本文描述了帮助客户使用马尔可夫链蒙特卡洛(MCMC)方法通过贝叶斯方法估计基本的单变量随机波动模型,就像Kim等人(1998年)所做的那样。定义模型以及从条件后验中抽取样本的函数的代码也在Python脚本中提供。  ......
  • TensorFlow深度学习——深入理解人工智能算法设计pdf电子版 龙良曲
    TensorFlow深度学习——深入理解人工智能算法设计pdf电子版作者:龙良曲出版年:2020-7-1ISBN:9787302553335连接提取码:poat挺系统的,原理加代码的结合,是我最喜欢的阅读方式,前面对tensorflow的使用算相当细致了,后面实践部分内容广,但是部分内容深浅不一,还得自己找别的资......
  • Python36days
    进程基础(操作系统中的概念)进程调度算法(四种算法)进程的并行和并发的概念同步异步阻塞非阻塞的概念创建进程(进程类Process)Process类的参数Process类的方法如何开启多进程基于TCP协议的高并发程序————————————————————————————————————......
  • 课程概论与python3语法
    server端云盘:代替硬盘disk,存图片,视频,几百G、几TMysql:存代码,文本,几十GRedis:占用内存, client端WebStorageds内存 1、注释#......
  • Python神经网络编程pdf电子版 Tariq Rashid
    Python神经网络编程pdf电子版TariqRashid作者:[英]TariqRashid原作名:MakeYourOwnNeuralNetwork出版年:2018-4ISBN:9787115474810连接提取码:c75z本书对初学者极为友好,并且篇幅短小精悍,概念讲解明晰易懂,很适合作为神经网络入门第一书。书中作为例子实现的神经网......
  • python练习.8
    问:用户给了一串带有逗号的数字,要求用逗号分隔数字列表,并生成列表和元组。例:23,34,43,44,5,5==》['23','34','43','44','5','5']   ('23','34','43','44','5','5')defAyue():......
  • 解决The following specifications were found to be incompatible with the existing
    解决"Thefollowingspecificationswerefoundtobeincompatiblewiththeexistingpythoninstallation"的问题当你尝试安装或更新Python包时,有时候你可能会遇到以下错误信息:plaintextCopycodeThefollowingspecificationswerefoundtobeincompatiblewiththeexisting......
  • 解决gyp verb ensuring that file exists: C:Python27python.exe gyp ERR! configure
    解决"gypverbensuringthatfileexists:C:\Python27\python.exegypERR!configureerrorgypERR!sta"错误一些开发者在使用Node.js模块时,可能会遇到类似于"gypverbensuringthatfileexists:C:\Python27\python.exegypERR!configureerrorgypERR!sta"......