读取 pdf 中表格

今天刚做到的,抽取 pdf 中的表格放入 Excel,找度娘找到了这个解决方案,亲测可用
附原文链接:https://blog.csdn.net/weixin_39693438/article/details/111048769

import pdfplumber
import pandas as pd

读取 pdf 文件中的表格

pdf = pdfplumber.open(“C:\Users\SuXing\Desktop\QQ 邮箱 - 打印邮件.pdf”)

提取表格自定义函数,模块自带函数 pages 的参数 [代表正在获取的页面] 

def get_table(page_number):
# .extract_table() 函数代表正在提取目标 page 中的表格中的数据
table = pdf.pages[int(page_number)].extract_table()
print(table)
# 这就不用解释了
return table

if name == ‘main’:
# 建立一个空 list 来存放提取额数据
dataList = []
# 你可以把范围设置到任何需要的数字,这里 pdf 只有两页,故为 0 和 1。
for y in (0, 1):
# 利用前述自定义函数对每一页去提取数据
for x in get_table(y):
# 巧用 filter 函数–去掉原有格式当中额空值和 None。
dataList.append(list(filter(None, x)))
# print(list(filter(None,i)))
# 整理表格,这个只涉及 pandas 知识故不再赘诉
finaleTable = pd.DataFrame(list(dataList))
finaleTable.columns = finaleTable.loc[0, :]
finaleTable.drop(0, axis=0, inplace=True)
finaleTable.to_excel(‘test.xlsx’, encoding=‘GBK’)