Python pdfplumber库批量提取PDF表格数据转换为Excel

陆遥
陆遥
发布时间:2026-10-16| 2人浏览过
原创

本文介绍如何利用Python的pdfplumber库实现PDF文件中表格数据的批量提取并转换为Excel格式。通过示例代码演示了从单文件到多文件夹的处理流程,解决了WPS付费及手动操作耗时的问题,提供高效的数据处理方案。

需求

需要将PDF中的数据提取并保存至Excel。尽管WPS支持将PDF直接输出为Excel,但该功能收费,且在处理大量PDF文件时,手动操作极为耗时。借助Python第三方库pdfplumber,可快速实现此功能。

一、实现效果图

二、pdfplumber库介绍

pdfplumber是一款开源Python工具库,可便捷获取PDF的各类信息,包括文本、表格、图表及尺寸等。本文主要利用该库提取PDF中的表格数据以完成需求。

安装命令

pip install pdfplumber

三、代码实现

1、导入相关包

import pdfplumber
import pandas as pd

2、读取PDF并获取页数

pdf = pdfplumber.open("/Users/wangwangyuqing/Desktop/1.pdf")
pages = pdf.pages

3、提取单个PDF文件并保存为Excel

if len(pages) > 1:
    tables = []
    for each in pages:
        table = each.extract_table()
        tables.extend(table)
else:
    tables = each.extract_table()
data = pd.DataFrame(tables[1:], columns=tables[0])
data
data.to_excel("/Users/wangwangyuqing/Desktop/1.xlsx", index=False)

4、提取文件夹下多个PDF文件并保存为Excel

import os
import glob
path = r'/Users/wangwangyuqing/Desktop/pdf文件'
for f in glob.glob(os.path.join(path, "*.pdf")):
    res = save_pdf_to_excel(f)
    print(res)
def save_pdf_to_excel(path):
    #     print('文件名为:',path.split('/')[-1].split('.')[0] + '.xlsx')
    pdf = pdfplumber.open(path)
    pages = pdf.pages
    if len(pages) > 1:
        tables = []
        for each in pages:
            table = each.extract_table()
            tables.extend(table)
    else:
        tables = each.extract_table()
    data = pd.DataFrame(tables[1:], columns=tables[0])
    file_name = path.split('/')[-1].split('.')[0] + '.xlsx'
    data.to_excel("/Users/wangwangyuqing/Desktop/data/{}".format(file_name), index=False)
    return '保存成功!'

小结

Python中还有PyPDF2、pdfminer等库可处理PDF,本文选择pdfplumber的原因在于其能轻松访问PDF的详细信息(如作者、来源、日期等),且提取文本和表格的方法灵活可定制。用户可根据具体数据需求,进一步探索pdfplumber的其他用法。

以上就是Python pdfplumber库批量提取PDF表格数据转换为Excel的详细内容,更多关于Python pdfplumber库PDF转换Excel的资料请关注本站其它相关文章!

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。