批量提取PDF中表格内容

1 背景

从PDF文件获取表格中的数据,也是日常办公容易涉及到的一项工作。比如我们想获取某公司年报里面的表格数据,PDF动辄上百页的数据。

2 传统方法

一个一个从PDF表格中复制,然后粘贴到Excel表格中,效率太低了。

3 办公自动化

来看看我的方法,如何用 Python 解决的。使用pdfplumber读取PDF文件,自动提取每一页的表格,循环写入新的Excel文件中,思路跟传统方法一样,但是花费的时间呢?不要眨眼睛,我只需要按下运行按钮,一切的操作都自动运行起来了,所有的文件都自动生成了,命名都做好了,随机打开一两个查看一下,没有问题,都是准确的。

4 代码实现

## 导入工具包
import pdfplumber
import pandas as pd

## 读取 PDF 文件
p = pdfplumber.open("./贵州茅台2019年年报.pdf")

# 选好读取全部页面
for i in range(len(p.pages)):
    ## 读取一页中全部表格
    tables = p.pages[i].extract_tables()
    print(f'第{i+1}页一共有{len(tables)}个表格') 
    for j in range(len(tables)):
        ## 生成表格
        df = pd.DataFrame(tables[j])
        ## 写入 Excel 文件
        df.to_excel(f'./贵州茅台2019年年报_第{i+1}页_第{j+1}张表.xlsx')

实现效果:

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-12 05:16:01       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-12 05:16:01       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-12 05:16:01       58 阅读
  4. Python语言-面向对象

    2024-07-12 05:16:01       69 阅读

热门阅读

  1. NoSQL之Redis配置与优化

    2024-07-12 05:16:01       34 阅读
  2. web自动化环境搭建[基于Chrome]+常用元素定位方式

    2024-07-12 05:16:01       27 阅读
  3. OPenCV实现直方图均衡化----20240711

    2024-07-12 05:16:01       22 阅读
  4. DNS负载均衡的底层实现原理

    2024-07-12 05:16:01       30 阅读