如何提取企业年报中表格的数据?-使用camelot库

 参考资料链接: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')

可以发现结构基本一样,只多了一步将三个表格合并为一个表格

 

  • 15
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值