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')
实现效果: