前面提到的pdfplumber模块可以用来提取pdf中的表格数据。今天我给大家举个例子。
pdfplumber库作为强大的pdf文件解析工具,可以快速将pdf文档转换为易于处理的txt文档,输出pdf文档的字符、页面、页码等信息,还可以进行页面可视化操作。使用pdfplumber库前,需要先安装,即在cmd命令行中输入:
<p><span>pip install pdfplumber<br/></span></p>
pdfplumber库提供了两种pdf表格提取函数,分别为
.extract_tables( )
及
.extract_table( )
,两种函数提取结果存在差异。为进行演示,我们网站上下载了一份短期融资券主体信用评级报告,为pdf格式。任意选取某一表格,其界面如下:
(1).extract_tables( )
它可以输出页面中的所有表格,并返回一个结构层次为表格→行→单元格的嵌套列表。此时将页面上的整个表格放入一个大列表中,原始表格中的每一行形成大列表中的每个子列表。如果要输出单个外部列表元素,则得到的是由原始表的同一行中的元素组成的列表。例如,我们执行以下程序:
<p><span>import pdfplumber <br/>with pdfplumber.open(r'F:python财务报表主体评级报告.pdf') as pdf:<br/> page = pdf.pages[45] #设置操作页面 <br/> for row inpage.extract_tables() :<br/> print(row)<br/> print(row[0]) #打印外层列表第一个元素<br/></span></p>
输出结果:
(2).extract_table( )
返回多个独立列表,其结构层次为行→单元格。如果页面中有多个行数相同的表,则默认输出最上面的表;否则,只输出行数最多的表。此时将表格的每一行作为一个单独的列表,列表中的每个元素都是原表格每个单元格的内容。如果你需要输出一个元素,你得到的是一个特定的数字或字符串。如下:
<p><span>with pdfplumber.open(r'F:python财务报表主体评级报告.pdf') as pdf:<br/> page = pdf.pages[45]<br/> for row in page.extract_table() : <br/> print(row) <br/> print(row[0]) #打印每个列表对应的第一个元素<br/></span></p>
输出结果:
今天的分享就到这里了,忘记pdfminer知识的朋友回顾一下之前的文章:
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ python中嵌套函数的装饰器是什么?01/13
- ♥ Python语言中mod是什么意思08/12
- ♥ python关键字参数的多种用途12/04
- ♥ python序列解包是什么意思?09/16
- ♥ python中求二维积分的方法09/16
- ♥ python3.6无法卸载怎么解决12/28
内容反馈