参考资料链接:Python解析pdf表格 | Camelot库(完胜) VS Pdfplumber库
一、表格在单独一页的情况
import camelot
pdf=r"C:\Users\ziyao\Desktop\python for work\办公\work1\2018年10月全国城市空气质量报告.pdf"
table=camelot.read_pdf(pdf, pages='11')
print(table)#查看该页的表格数量
print(table[0])#查看表格的规格
df=table[0].df#将提取出的数据转换为dataframe
df.to_excel('tables.xlsx')
原文件的表格:
提取出来的Excel表格:
二、表格横跨多个不同页面
考虑到篇幅过长,所以不放原表格
import camelot
import pandas as pd
pdf=r"C:\Users\ziyao\Desktop\python for work\办公\work1\2018年10月全国城市空气质量报告.pdf"
table = camelot.read_pdf(pdf, pages='11-13')
#开始识别横跨11-13页的表格
#识别表头
columns = table[0].df.iloc[0]
#识别除表头外三页表格
df1 = table[0].df.iloc[1:]
df2 = table[1].df.iloc[1:]
df3 = table[2].df.iloc[1:]
#合并三个表格
df=pd.concat([df1,df2,df3])
#定义合并后表格的表头
df.columns=columns
df.to_excel('table.xlsx')
可以发现结构基本一样,只多了一步将三个表格合并为一个表格
标签:提取,表格,camelot,df,table,pdf,iloc From: https://blog.csdn.net/SFGEEBFG/article/details/136259095