首页 > 其他分享 >如何提取企业年报中表格的数据?-使用camelot库

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

时间:2024-03-15 15:32:31浏览次数:21  
标签:提取 表格 camelot df table pdf iloc

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

相关文章

  • 浮木云学习日志(11)---表格设计(一)
    ​表格作为展现数据最为清晰、高效的形式之一,同时又具有复用度高,拓展性强优势,是最常见的信息展示形式,也是对数据进行浏览和操作最便捷的设计方式,合理的表格设计能给用户带来高效的信息获取率。今天我就利用浮木云软件设计开发平台https://www.fumucloud.com/设计一款简洁美观的......
  • MeterSphere接口自动化系列之JSONPath常用提取方式
    一、使用场景        针对接口返回结果,提取相应的信息,用于后续接口输入或用于执行结果断言,对应平台的后置操作、断言规则页签。        二、常用方式实例接口返回结果{"code":0,"data":{"cart":{"id":"34253627754......
  • Python:自动化处理PDF文档集合,提取文献标题、合并文献PDF并生成目录和页码
    Python:自动化处理PDF文档集合,提取文献标题、合并文献PDF并生成目录和页码引言:功能概述步骤一:提取PDF标题步骤二:生成目录和页码,合并PDF技术亮点代码步骤一:提取PDF标题(Step_two.ipynb)步骤二:生成目录和页码,合并PDF(Step_two.ipynb)引言:在学术研究、文档管理等领域,经常需......
  • day4数据清理以及特征提取
    第一步:导入ps:最后一行是为了查看是否成功导入缺失值处理df.info()df.isnull().sum() df.info是一个用于查看DataFrame的基本信息的函数。它可以帮助我们了解DataFrame的列名、非空值数量、数据类型等信息。df.isnull().sum()是一个用于计算DataFrame中每列空......
  • P1829 / SP8099 Crash的数字表格 题解
    P1829/SP8099Crash的数字表格题解莫比乌斯反演、数论分块、杜教筛。题目传送门题意简述求以下式子的值,对\(20101009\)(一个质数)取模:\[\sum\limits_{i=1}^n\sum\limits_{j=1}^m\operatorname{lcm}(i,j)\]\(n,m\le10^7\)。加强:\(n,m\le10^{10}\)。解法莫比乌斯反......
  • Python 中 Panda 库 处理表格方法
    1.导入Pandas库importpandasaspd2.创建DataFrame对象#从列表创建data=[['Alice',25],['Bob',30],['Charlie',35]]df=pd.DataFrame(data,columns=['Name','Age'])#从字典创建data={'Name':[&#......
  • 使用openpyxl模块比对两个excel表格
      需求:集团发了一张即将下线的服务器台账表格,里面有整个集团个部门计划下线的服务器列表,大概有三五百行,但是我们部门只有80多台服务器,还不一定都包含在集团下发的表格里。手动一个个去查比较麻烦,写了个python脚本去检测两个表格中相同的地方,并返回单元格信息。第一步、取出......
  • PYTHON openpyxl 读写表格,输出幼儿园课程表,值班表
    #frompickleimportAPPENDimportopenpyxlimportdatetimefromtimeimportstrftime#importre#fromdatetimeimportdatetime#fromdateutil.parserimportparse#importpandasaspdimportoperatorwb=openpyxl.load_workbook(r'1_7date.xlsx')......
  • 解决表格文件上传无法删除临时文件的问题Failed to perform cleanup of multipart ite
    java.io.UncheckedIOException:CannotdeleteC:\Users\hasee\AppData\Local\Temp\tomcat如图所示,刚开始以为是apifox没删除的问题,换了之后依旧这样 尝试方案1-失败 方法二-失败 方法三-成功 原文链接报错:StandardServletMultipartResolver:Failedtoperform......
  • 点云算法--地面点提取
       地面点提取算法作为点云后处理算法中的核心一般有以下几类方法可以提取地面点:1.形态学或者渐进形态学  优点:效率较高。缺点:对于腐蚀膨胀过程中的参数设置需要基于先验知识,所以效果的稳定性很差,适合处理简单的场景。2.布料滤波  优点:地面点的准确率相对较高(但......