知行编程网知行编程网  2022-09-04 07:00 知行编程网 隐藏边栏  87 
文章评分 0 次,平均分 0.0
导语: 本文主要介绍了关于Python教程:pdfplumber提取pdf中的表格数据的相关知识,包括python截取pdf的一部分,以及pdf提取数据这些编程知识,希望对大家有参考作用。

前面提到的pdfplumber模块可以用来提取pdf中的表格数据。今天我给大家举个例子。

pdfplumber库作为强大的pdf文件解析工具,可以快速将pdf文档转换为易于处理的txt文档,输出pdf文档的字符、页面、页码等信息,还可以进行页面可视化操作。使用pdfplumber库前,需要先安装,即在cmd命令行中输入:

<p><span>pip install pdfplumber<br/></span></p>


pdfplumber库提供了两种pdf表格提取函数,分别为

.extract_tables( )



.extract_table( )

,两种函数提取结果存在差异。为进行演示,我们网站上下载了一份短期融资券主体信用评级报告,为pdf格式。任意选取某一表格,其界面如下:



Python 教程:pdfplumber 提取 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>



输出结果:



Python 教程:pdfplumber 提取 pdf 中的表格数据



(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>



输出结果:



Python 教程:pdfplumber 提取 pdf 中的表格数据

今天的分享就到这里了,忘记pdfminer知识的朋友回顾一下之前的文章:

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写
扫一扫二维码分享