读取 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’)
回帖内容已被屏蔽。
对,所以我最后直接从邮件里读了 😄
pdfplumber 有时候准确度不太行、主要还是 PDF 太坑
Markdown 中有些字符效果跟 python 代码不同,如果看不懂可先去链接中获取 python 代码,然后比对我的排版使用