pdf文本和表格处理——pdfplumber的安装与简单使用

pdf的文本和表格处理用多种方式可以实现, 本文介绍pdfplumber对文本和表格提取。这个库在GitHub上星300多,不过使用起来很方便, 效果也很好,可以满足对pdf中信息的提取需求。

pdfplumber简介

Pdfplumber是一个可以处理pdf格式信息的库。可以查找关于每个文本字符、矩阵、和行的详细信息,也可以对表格进行提取并进行可视化调试。

pdfplumber安装

安装直接采用pip即可。命令行中输入

pip install pdfplumber

如果要进行可视化的调试,则需要安装ImageMagick。
Pdfplumber GitHub: https://github.com/jsvine/pdfplumber
ImageMagick地址:
http://docs.wand-py.org/en/latest/guide/install.html#install-imagemagick-windows
官网地址没有6x, 6x地址https://imagemagick.org/download/binaries/)

注意:我在装ImageMagick,使用起来是报错了, 网上参照了这里 了解到应该装6x版,7x版会报错。故找了6x的地址如上。)

在使用to_image函数输出图片时,如果报错DelegateException。则安装GhostScript 32位。(注意,一定要下载32位版本,哪怕Windows和python的版本是64位的。)1
GhostScript: https://www.ghostscript.com/download/gsdnld.html

简单使用

最基本的用法如下,读取pdf中的某一页。

import pdfplumber
with pdfplumber.open("path/to/file.pdf") as pdf:
    first_page = pdf.pages[0]
    print(first_page.chars[0])

pdfplumber.pdf中包含了.metadata和.pages两个属性。
.metadata是一个包含pdf信息的字典。
.pages是一个包含页面信息的列表。

每个pdfplumber.page的类中包含了几个主要的属性。
.page_number 页码
.width 页面宽度
.height 页面高度
.objects/.chars/.lines/.rects 这些属性中每一个都是一个列表,每个列表都包含一个字典,每个字典用于说明页面中的对象信息, 包括直线,字符, 方格等位置信息。

一些常用的方法

.extract_text() 用来提页面中的文本,将页面的所有字符对象整理为的那个字符串
.extract_words() 返回的是所有的单词及其相关信息
.extract_tables() 提取页面的表格
.to_image() 用于可视化调试时,返回PageImage类的一个实例

import pdfplumber
import pandas as pd

with pdfplumber.open("中新科技:2015年年度报告摘要.PDF") as pdf:
    page = pdf.pages[1]   # 第一页的信息
    text = page.extract_text()
    print(text)
    table = page.extract_tables()
    for t in table:
        # 得到的table是嵌套list类型,转化成DataFrame更加方便查看和分析
        df = pd.DataFrame(t[1:], columns=t[0])
        print(df)

显示文本:
显示文本

显示表格:
显示表格

Visual Debugging可视化调试

Pdfplumber提供的图形debug功能,能够获取pdf页面中的表格,并对识别的信息用框框起来,并进行调整,以优化识别的情况。

具体可参照GitHub上给出的示例。
https://github.com/jsvine/pdfplumber/tree/master/examples

在这里插入图片描述


  1. https://blog.csdn.net/blmoistawinde/article/details/82051915 ↩︎

  • 19
    点赞
  • 134
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
安装pdfplumber,您可以按照以下步骤进行操作: 1. 首先,确保您已经安装Pythonpdfplumber是一个Python库,因此需要在您的计算机上安装Python。 2. 打开命令行终端,并使用以下命令安装pdfplumber: ``` pip install pdfplumber ``` 3. 安装完成后,您可以在Python脚本中导入pdfplumber并开始使用它。以下是一个简单的示例代码,演示如何读取PDF文件的第一页: ```python import pdfplumber with pdfplumber.open("path/to/file.pdf") as pdf: first_page = pdf.pages\[0\] print(first_page.chars\[0\]) ``` 请注意,您可能还需要安装ImageMagick以进行可视化调试。您可以在Pdfplumber的GitHub页面(https://github.com/jsvine/pdfplumber)上找到ImageMagick的安装指南。 #### 引用[.reference_title] - *1* *2* [pdf文本表格处理——pdfplumber安装简单使用](https://blog.csdn.net/Elaine_jm/article/details/84841233)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [用python解析pdf中的文本表格pdfplumber安装使用】](https://blog.csdn.net/blmoistawinde/article/details/82051915)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值