python 读取PDF及其他操作

本文介绍了Python库pdfplumber的安装与基本使用,包括读取PDF文件、提取文本、查找特定内容以及提取表格。通过示例展示了如何在大量PDF文件中搜索特定人名,并将找到的文件路径打印出来。还提到了pdfplumber的一些关键方法,如`.extract_text()`、`.extract_words()`和`.extract_tables()`,并展示了如何将提取的表格转换为DataFrame。此外,还提及了处理带密码的PDF以及使用`.to_image()`进行可视化的方法。

开发板推荐:天空星STM32F407VET6开发板

超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

该篇不针对pdfplumber展开详细论述,请详见参考链接

安装

使用pdfplumber第三方库直接安装

pip install pdfplumber

简单实例

说明:该实例是在某文件夹下一千个pdf文件中找寻符合条件的pdf

import os
import pdfplumber
filepath = r'C:\Users\用户\Desktop\qiandao'    #从压缩包解压出的文件夹
for dirpath in os.listdir(filepath):   #遍历该文件夹下一千个pdf文件
    with pdfplumber.open('C:\\Users\\用户\\Desktop\\qiandao\\'+dirpath) as pdf:   #每次循环打开一个pdf
        firs = pdf.pages[0]    #打开第一页(因每个pdf都是证书,只有一页)
        text = firs.extract_text() #读取第一页内容
        if '张三' in text :   #输入需要查找的人名
            print(dirpath)   #输出包含该人名的文件名

读取PDF

pdfplumber提供了两种读取pdf的方式:

  • pdfplumber.open(".pdf")
  • pdfplumber.load(file_like_object)

这两种方法都返回pdfplumber.PDF类的实例(instance)。
加载带密码的pdf需要传入参数password,例如:pdfplumber.open("file.pdf", password = "test")

一些常用的方法

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

实例

import pdfplumber
import pandas as pd

with pdfplumber.open("表格.pdf") as pdf:
    page = pdf.pages[0]   # 第一页的信息
    table = page.extract_tables()
    for t in table:
        # 得到的table是嵌套list类型,转化成DataFrame
​        df = pd.DataFrame(t[1:], columns=t[0])
​        print(df)

参考链接:https://blog.csdn.net/weixin_48629601/article/details/107224376

开发板推荐:天空星STM32F407VET6开发板

超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值