最新公告
  • 欢迎您光临网站无忧模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • Python教程:pdfplumber提取pdf中的表格数据

    正文概述    2020-02-18   747

    之前讲过的pdfplumber模块,可以用来提取pdf中的表格数据。今天小编就为大家带来实例讲解。

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

    pip install pdfplumber

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

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


    (1).extract_tables( )


    可输出页面中所有表格,并返回一个嵌套列表,其结构层次为table→row→cell。此时,页面上的整个表格被放入一个大列表中,原表格中的各行组成该大列表中的各个子列表。若需输出单个外层列表元素,得到的便是由原表格同一行元素构成的列表。例如,我们执行如下程序:

    import pdfplumber 
    with pdfplumber.open(r'F:python财务报表主体评级报告.pdf')  as pdf:
       page = pdf.pages[45]    #设置操作页面 
       for row inpage.extract_tables() :
              print(row)
              print(row[0])   #打印外层列表第一个元素


    输出结果:


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


    (2).extract_table( )


    返回多个独立列表,其结构层次为row→cell。若页面中存在多个行数相同的表格,则默认输出顶部表格;否则,仅输出行数最多的一个表格。此时,表格的每一行都作为一个单独的列表,列表中每个元素即为原表格的各个单元格内容。若需输出某个元素,得到的便是具体的数值或字符串。如下:

    with pdfplumber.open(r'F:python财务报表主体评级报告.pdf') as pdf:
         page = pdf.pages[45]
         for row in page.extract_table() : 
             print(row) 
             print(row[0])      #打印每个列表对应的第一个元素


    输出结果:


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


    今天的分享到这里就结束啦,对pdfminer知识遗忘的小伙伴回顾以往文章:进阶PDF,就用Python(pdfminer.six和pdfplumber模块)


    下载网 » Python教程:pdfplumber提取pdf中的表格数据

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元