当前位置:首页 > 数码 > 一步一步指南-零老本用Python代替Adobe从PDF提取数据 (一步步指导)

一步一步指南-零老本用Python代替Adobe从PDF提取数据 (一步步指导)

admin6个月前 (04-16)数码28

一、简介

PDF文件是官网报告、发票和数据表的通用言语,但是从PDF文件中提取表格数据或者是一项应战。虽然AdobeAcrobat等工具提供了处置打算,但它们并不总是易于失掉或可智能化运转,而/target=_blankclass=infotextkey>Python则是编程言语中的瑞士军刀。本文将讨论如何应用Python轻松成功PDF数据提取,而无需经常使用低廉的软件。

二、了解应战

PDF文件是为展现而设计的,而不是为提取数据。它们通常蕴含复杂的规划,在视觉上很吸引人,但在计算上却无法访问。因此,提取表格等结构化消息十分艰巨。

三、经常使用PyMuPDF提取文本

PyMuPDF是一款轻量级的库,长于读取PDF文件并提取文本。只有几行代码,就可以读取PDF并从恣意页面提取文本。本文从飞驰个人2022年第四季度年度报告中提取股东权力变化综合报表(ConsolidatedStatementofChangesinEquity),代码如下。

importfitzimportpandasaspdimportre#---PDF处置---#定义PDF文件的门路并关上文档pdf_path='..../Merc2022Q4Rep.pdf'pdf_document=fitz.open(pdf_path)#选用要阅读的特定页面page=pdf_document[200]#失掉页面的尺寸page_rect=page.rectpage_width,page_height=page_rect.width,page_rect.height#定义感兴味区域的矩形(不包括脚注)non_footnote_area_height=page_height*0.90clip_rect=fitz.Rect(0,0,page_width,non_footnote_area_height)#从定义的区域提取文本page_text=page.get_text("text",clip=clip_rect)lines_page=page_text.strip().split('n')

四、规整数据

提取的文本通常带有不须要的字符或格局。这就是预处置施展作用的中央。Python的字符串处感性能经常使用户能够荡涤和预备数据以转换为表格格局。

#---数据荡涤---#定义要搜查的字符串并查找其索引search_string='Balanceat1January2021(restated)'try:index=lines_page.index(search_string)>#---创立DataFrame---#依据列数将荡涤后的数据宰割成块num_columns=6/>

六、结语

经过应用Python弱小的库,可以智能化繁琐的PDF数据提取义务。这种方法不只老本低,而且提供了Python开发者所喜欢的灵敏性和弱小性能。


图片提取框架和文字怎么操作?

图片提取文字需要用特定的软件,现在很多手机APP都可以做到的,我用的QQ浏览器,直接拍照秒提取文字,简单又方便还不限制手机品牌:

具体步骤:

打开QQ浏览器,点击扫描王入口 找到提取文字页面,对准文字拍摄 选择需要提取的文字 导出结果就可以了

怎样利用python将pdf转换成jpg格式

可以用第三方库wand实现(我的环境:win10、python3)

需要安装wand 、imagemagick和ghostscript

wand的安装很简单:直接cmd 运行pip install wand

然后安装imagemagick ,从这里下载网页链接,注意是32位还是64位,这个需要和python的位数一致。

安装过程注意勾选Install development headers and libraries for C and C++ 。安装后设置MAGICK_HOME环境变量,值为imagemagick的安装路径,并将安装路径加入path。

一步步指导

详情可参照此页面网页链接。

最后安装ghostscript,这里下载网页链接,选择AGPL release,注意32位还是64位。

安装过程很简单,一路点击next,如果不想安装在c盘,可以改变安装路径,这个没有影响。

最后上代码(很简单):

免责声明:本文转载或采集自网络,版权归原作者所有。本网站刊发此文旨在传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及版权、内容等问题,请联系本网,我们将在第一时间删除。同时,本网站不对所刊发内容的准确性、真实性、完整性、及时性、原创性等进行保证,请读者仅作参考,并请自行核实相关内容。对于因使用或依赖本文内容所产生的任何直接或间接损失,本网站不承担任何责任。

标签: Python

“一步一步指南-零老本用Python代替Adobe从PDF提取数据 (一步步指导)” 的相关文章

b-b-个入门建议!-Python-技术书籍推荐-附赠-11 (b+b+b等于什么)

b-b-个入门建议!-Python-技术书籍推荐-附赠-11 (b+b+b等于什么)

近年来,Python 持续火爆,越来越多的人开始入门学习 Python。RealPython 作为最受好评的 Python 学习网站,拥有超百万的浏览量,以下是 RealPython 的开发者给...

处置日常义务的终极工具!-Python-文件读写实战 (处置行为是什么意思)

处置日常义务的终极工具!-Python-文件读写实战 (处置行为是什么意思)

/target=_blankclass=infotextkey>Python文件的读写操作时,有很多须要思考的细节,这包含文件关上形式、读取和写入数据的方法、意外处置等。 在本文中,...

Python中的Random模块-摸索随机性的神奇环球 (python编程)

Python中的Random模块-摸索随机性的神奇环球 (python编程)

随机性在计算机编程和数据迷信中表演着至关关键的角色。/target=_blankclass=infotextkey>Python中的random模块提供了丰盛的工具和函数,协助咱们生成随机数...

惰性求值和lambda表达式的强大组合-Python高级技巧 (惰性求值和逻辑短路)

惰性求值和lambda表达式的强大组合-Python高级技巧 (惰性求值和逻辑短路)

Lambda 表达式 在 Python 中,Lambda 表达式是一个匿名函数,它可以在需要函数对象的地方使用。Lambda 表达式的语法如下: lambda arguments: exp...

轻松把握多线程和多进程-Python编程进阶 (多线是什么意思)

轻松把握多线程和多进程-Python编程进阶 (多线是什么意思)

1、简介 咱们将讨论如何应用/target=_blankclass=infotextkey>Python口头多线程和多进程义务。它们提供了在单个进程或多个进程之间口头并发操作的方法。并...

生成-UUID-操作-Python-齐全指南-格局和经常出现疑问 (生成uuid java)

生成-UUID-操作-Python-齐全指南-格局和经常出现疑问 (生成uuid java)

UUID(UniversallyUniqueIdentifier,通用惟一标识符)是一种全局惟一标识符生成形式,用于创立举世无双的标识符。/target=_blankclass=infotextk...

五分钟内完成个性化-GUI-计算器搭建-Python (五分钟内完成的动物实验)

五分钟内完成个性化-GUI-计算器搭建-Python (五分钟内完成的动物实验)

这个简单的教程将指导你如何在 Python 中使用 Tkinter 轻松制作一个全功能的 GUI 计算器。 7 8...

内置数据库-的长处和运行-SQLite-轻量级-Python (内置数据库)

内置数据库-的长处和运行-SQLite-轻量级-Python (内置数据库)

/target=_blankclass=infotextkey>Python是一种盛行的编程言语,可以用于开发各种运行程序,从图形用户界面到网站和游戏。Python的一个特点是,它内置了一个...