1. 本际云推荐 - 专业推荐VPS、服务器,IDC点评首页
  2. 云主机运维
  3. VPS运维

pythonpdfplumber库成批提取pdf表格内容转换成excel

使用Python的pdfplumber库批量提取PDF表格并转换为Excel格式

欢迎来到本际云服务器推荐网的小编小本本,今天给大家介绍使用Python的pdfplumber库批量提取PDF表格并转换为Excel格式的实例详细说明。如果你需要从多个PDF文件中提取信息并存储到Excel中,可以使用pdfplumber库进行快速处理。

pythonpdfplumber库成批提取pdf表格内容转换成excel

pdfplumber库介绍

pdfplumber是一个开源的Python工具库,可以轻松获取PDF的所有信息,包括文字、表格、数据图表、规格等。为了达到我们本文的需求,我们将关键使用pdfplumber来提取PDF表格内容。

代码编写

1. 导入相关库

import pdfplumber
import pandas as pd

2. 加载PDF,并获取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 = pages.extract_table()

data = pd.DataFrame(tables[1:], columns=tables[0])
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):
    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 = pages.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还有其他库可以用于处理PDF,例如PyPDF2和pdfminer等。我们选择pdfplumber的主要原因是它可以轻松浏览相关PDF的所有详细资料,包括创作者、来源、时间等,以及支持自定义特征和报表的提取方法。你可以根据自己的数据需求,尝试使用pdfplumber的其他功能。

原创文章,作者:小编小本本,如若转载,请注明出处:https://www.benjiyun.com/yunzhujiyunwei/vps-yunwei/6633.html