Advertisement

Python批量提取PDF表格并保存为Excel

阅读量:

想要提取 PDF 的数据,保存到 Excel 中。虽然是可以直接利用 WPS 将 PDF 文件输出成 Excel,但这个功能是收费的,而且如果将大量 PDF转 Excel 的时候,手动去输出是非常耗时的。我们可以利用 Python 的第三方工具库 pdfplumber 快速完成这个功能。

一、实现效果图

二、pdfplumber 库

pdfplumber 是一个开源 Python 工具库,可以方便获取 PDF 的各种信息,包括文本、表格、图表、尺寸等。完成我们本文的需求,主要使用 pdfplumber 提取 PDF 表格数据。

安装命令
复制代码
    pip install pdfplumber

三、代码实现

导入相关包
复制代码
    import pdfplumber  
    import pandas as pd
读取 PDF,并获取 PDF 的页数
复制代码
    pdf = pdfplumber.open("/Users/wangwangyuqing/Desktop/1.pdf")  
    pages = pdf.pages
提取单个 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)
提取文件夹下多个 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 中还有很多库可以处理 pdf,比如 PyPDF2、pdfminer 等,本文选择 pdfplumber 的原因在于能轻松访问有关 PDF 的所有详细信息,包括作者、来源、日期等,并且用于提取文本和表格的方法灵活可定制。大家可以根据手头数据需求,再去解锁 pdfplumber 的更多用法。

---------------------------END---------------------------

感兴趣的小伙伴,赠送全套Python学习资料,包含面试题、简历资料等具体看下方。

👉大礼包🎁:全网最全《Python学习资料》免费赠送🆓!(安全链接,放心点击)
一、Python所有方向的学习路线

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。
img
img

二、Python必备开发工具

工具都帮大家整理好了,安装就可直接上手!img

三、最新Python学习笔记

当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
img

四、Python视频合集

观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
img

五、实战案例

纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。img

六、面试宝典
在这里插入图片描述
在这里插入图片描述

简历模板在这里插入图片描述

全部评论 (0)

还没有任何评论哟~