zoukankan      html  css  js  c++  java
  • 用python解析pdf中的文本与表格【pdfplumber的安装与使用】

    我们接触到的很多文档资料都是以pdf格式存在的,比如:论文,技术文档,标准文件,书籍等。pdf格式使得用机器从中提取信息格外困难。

    为了解决这个问题,我找到了几种解决方案,最后选择了python上的pdfplumber库,安装和使用都相对比较方便,效果也还不错,所以下面介绍这个库的安装与使用。

    安装
    我的电脑配置环境: Win10+python3.6
    和许多库一样,其基本安装只需要pip就可以了。

    pip install pdfplumber

    不过本库还提供了图形Debug功能,可以获得PDF页面的截图,并且用方框框起识别到的文字或表格,帮助判断PDF的识别情况,并且进行配置的调整。【具体例子在后面附上。】

    要使用这个功能,还需要安装ImageMagick (特别注意,是6.X版本而不是最新的7.X版本。下载地址如下:https://legacy.imagemagick.org/script/binary-releases.php#windows )

    按照官网的指示,理论上安装了这个就可以了,不过,我在使用to_image函数输出图片时,遇到了DelegateException。后来发现,还需要安装另一个软件才能够解决问题。
    GhostScript: https://www.ghostscript.com/download/gsdnld.html 【注意,一定要下载32位版本,哪怕Windows和python的版本是64位的。】
    然后就大功告成了!

    基本使用
    本库最重要的应用是提取页面上的文本和表格,用法如下:

    import pdfplumber
    import pandas as pd

    with pdfplumber.open("path/to/file.pdf") as pdf:
    first_page = pdf.pages[0]
    # 获取文本,直接得到字符串,包括了换行符【与PDF上的换行位置一致,而不是实际的“段落”】
    print(first_page.extract_texts())
    # 获取本页全部表格,也可以使用extract_table()获得单个表格
    for table in p0.extract_tables():
    #得到的table是嵌套list类型,转化成DataFrame更加方便查看和分析
    df = pd.DataFrame(table[1:], columns=table[0])
    print(df)

    pdfplumber还可以获得页面上的所有单词、直线、方格、乃至曲线的位置信息,具体可以看看官网的说明:https://github.com/jsvine/pdfplumber
    ---------------------
    作者:blmoistawinde
    来源:CSDN
    原文:https://blog.csdn.net/blmoistawinde/article/details/82051915
    版权声明:本文为博主原创文章,转载请附上博文链接!

  • 相关阅读:
    解决firefox的button按钮文字不能垂直居中
    郁闷呢
    我的生活走入正轨
    空闲的日子写写日记
    今天可以写心事
    终于可以写字了
    有地方可以发表自己的心事了。
    Shopify:产品详情页购买按钮下方支持的支付方式图标如何修改?
    Wordpress报错:Allowed memory size of 134217728 bytes exhausted
    安装Xshell报错:由于找不到MSVCR110.dll,无法继续执行代码。重新安装程序可能会解决此问题
  • 原文地址:https://www.cnblogs.com/hushaojun/p/9975075.html
Copyright © 2011-2022 走看看