当前位置: 首页 > news >正文

织梦57网站的友情链接怎么做广州网站建设定制设计

织梦57网站的友情链接怎么做,广州网站建设定制设计,百度识图在线,创建一个网站要多少钱从PDF文件获取表格中的数据#xff0c;也是日常办公容易涉及到的一项工作。一个一个复制吧#xff0c;效率确实太低了。用Python从PDF文档中提取表格数据#xff0c;并写入Excel文件#xff0c;灰常灰常高效。上市公司的年报往往包含几百张表格#xff0c;用它作为例子再合… 从PDF文件获取表格中的数据也是日常办公容易涉及到的一项工作。一个一个复制吧效率确实太低了。用Python从PDF文档中提取表格数据并写入Excel文件灰常灰常高效。上市公司的年报往往包含几百张表格用它作为例子再合适不过搞定这个其他含表格的PDF都是小儿科了。今天以保利地产年报为例这个PDF文档中有321页含有表格总表格数超过这个数了。 先导入PDF读取模块pdfplumber随便挑一页看下表格数据的结构。如下我们挑了第4页pages[3]来读取其中的表格并显示。这里读取表格用到了extract_tables()即默认每页有多个表格。它会将单个表格的数据按行读取存入列表再将每个表格的所有数据汇总存到一个上一级列表最后将所有表格的数据汇总到一个大列表。而extract_table()方法则只能读一张表当一个页面有多张表就默认选第一个因此会漏掉后面的。而且它们的数据结构也不同差异如下。“保利地产年报”第四页如图所示读取的结果存到列表table显示如下。#观察读取出来的表格的数据结构import pdfplumberwith pdfplumber.open(保利地产年报.pdf) as p:    page  p.pages[3] #选取第4页(起始页为0)    table  page.extract_tables() #多表格读取存为嵌套列表    print(table)[[[, 常用词语释义, None, None, None, None, None, ], [中国证监会, None, , 指, , , 中国证券监督管理委员会, ], [国资委, None, , 指, , , 国务院国有资产监督管理委员会, ], [上交所, None, , 指, , 上海证券交易所, None, None], [公司、本公司、保利地产, None, 指, None, None, 保利发展控股集团股份有限公司原名称保利房\n地产(集团)股份有限公司, None, None], [报告期、本报告期, None, , 指, , 2018年度, None, None], [元、万元、亿元, None, , 指, , 人民币元、人民币万元、人民币亿元, None, None]], [[公司的中文名称, 保利发展控股集团股份有限公司], [公司的中文简称, 保利地产], [公司的外文名称, Poly Developments and Holdings Group Co., Ltd.], [公司的外文名称缩写, PDH], [公司的法定代表人, 宋广菊]], [[, 董事会秘书, 证券事务代表], [姓名, 黄海, 尹超], [联系地址, 广东省广州市海珠区阅江中路688号保利国际广场北塔33层董事会办公室, None], [电话, 020-89898833, None], [传真, 020-89898666-8831, None], [电子信箱, stockpolycn.com, None]], [[公司注册地址, 广州市海珠区阅江中路688号保利国际广场30-33层], [公司注册地址的邮政编码, 510308], [公司办公地址, 广州市海珠区阅江中路688号保利国际广场北塔30-33层], [公司办公地址的邮政编码, 510308], [公司网址, www.polycn.comwww.gzpoly.com], [电子信箱, stockpolycn.com]], [[公司选定的信息披露媒体名称, 《中国证券报》、《上海证券报》、《证券时报》], [登载年度报告的中国证监会指定网站的网址, www.sse.com.cn], [公司年度报告备置地点, 公司董事会办公室]]]确保可正常读取表格以及了解读取出来的表格的数据结构下面就可以一次性读取出所有表格并存入Excel文件中了。导入相应模块然后使用pdfplumber打开PDF文件。使用Workbook()新建Excel工作簿然后使用remove()将其自带的工作表删除。因为我们想用PDF文件中表格所在的页码给相应的Excel工作表命名以便二者的编号一致方便后续查询。所以需要使用enumerate()给PDF的页从1开始编号。然后使用extract_tables()获取表格数据。 当然如果当页没有表格则extract_tables()获得的是空值None。在后续的操作中空值会报错所以加入if语句来做个判断。只有当列表tables不为空即里面有货的时候才建新的Excel表格并执行后续的写入操作。列表tables若为空(即当页没有表格)则直接跳到下一页。 当发现当页有表格后新建一个Excel表以“Sheet”加上此时PDF的页码(比如“Sheet3”)命名。在写入数据时先用一个for循环获得单个表格的数据再用第二个for循环获得表格中一行的数据然后写入Excel表。最后保存数据。由于表格太多程序运行时间较长大约需要3分钟。import pdfplumberfrom openpyxl import Workbook    with pdfplumber.open(保利地产年报.pdf) as p:    wb  Workbook() #新建excel工作簿    wb.remove(wb.worksheets[0])#删除工作簿自带的工作表    for index,page in enumerate(p.pages,start  1): #从1开始给所有页编号        tables  page.extract_tables() #读取表格        if tables: #判断是否存在表格若不存在则不执行下面的语句            ws  wb.create_sheet(fSheet{index}) #新建工作表表名的编号与表在PDF中的页码一致            for table in tables: #遍历所有列表                for row in table: #遍历列表中的所有子列表里面保存着行数据                    ws.append(row) #写入excel表    wb.save(保利地产年报表格.xlsx)数百个表格就这样潇洒地复制到Excel表格中了。如果想要指定某个表格在提取数据的时候指定页码即可。但如果想批量导出大量不同公司的年报的指定表格则需要使用关键词定位了。还好无论深圳市场还是上海市场公司的年报中的标题基本都是唯一的这给我们用标题做关键词提供了方便。假设我们需要提取公司“主要会计数据”下面的表格则用关键词“主要会计数据”定位即可。如下以此为例进行操作。import osimport pdfplumberfrom openpyxl import Workbook    pathPDF  #文件所在文件夹files  [path\\i for i in os.listdir(path)] #获取文件夹下的文件名,并拼接完整路径key_words  主要会计数据for file in files:    with pdfplumber.open(file) as p:        wb  Workbook() #新建excel工作簿        wb.remove(wb.worksheets[0])#删除工作簿自带的工作表        #获取关键词所在页及下一页的页码        pages_wanted  []        for index,page in enumerate(p.pages): #从0开始给所有页编号            if key_words in page.extract_text():                pages_wanted.append(index)                pages_wanted.append(index1)                break        #提取指定页码里的表格        for i in pages_wanted:                 page  p.pages[i]            tables  page.extract_tables() #读取表格            if tables: #判断是否存在表格若不存在则不执行下面的语句                ws  wb.create_sheet(fSheet{i1}) #新建工作表表名的编号与表在PDF中的页码一致                for table in tables: #遍历所有列表                    for row in table: #遍历列表中的所有子列表里面保存着行数据                        ws.append(row) #写入excel表        wb.save(Excel\\{}.xlsx.format(file.split(\\)[1].split(.)[0]))以上增加了一段获取关键词所在页码及下一页的页码的程序。之所以要获取关键词下一页页码是因为有些表格会跨页为了不遗漏数据宁愿多获取一点。一旦找到关键词所在页马上用break停止for循环。后面再遍历pages_wanted里面储存的页码提取表格并写入Excel文件并保存即可。批量获取的指定内容保存在Excel文件夹下。如果您有需要处理的问题可发邮件到我邮箱donyoqq.com一起探讨解决方案。微信公众号输入“源文件”提取所有源文件及资料。最好的赞赏就是点亮下方“在看”多给PythonOffice积攒一点人气哈
http://www.sadfv.cn/news/392748/

相关文章:

  • 网站开发线上销售技巧WordPress无刷新登录
  • wordpress站点地图优化网站开发百灵鸟优化
  • 做网站可以不写代码建设银行的投诉网站首页
  • 全方位营销型网站网站开发需要学php吗
  • 网站制作完成后应进入什么阶段北京建筑设计院加盟
  • 做机械加工外贸网站哪家好深圳响应式网站
  • 世界足球排名前100名热狗网站排名优化外包
  • 杭州微信网站建设一人之下王野
  • 重庆深蓝科技网站开发wordpress封面外链
  • 雄县网站制作建设中心中山精品网站建设案例
  • 衡阳做网站ss0734北京天仪建设工程质量检测所网站6
  • 论坛怎么做网站链接网店代运营公司排名
  • 重庆做网站人才网页浏览器阻止安装activex控件
  • 四川省住房和城乡建设网站微信静首页制作代码
  • 怎样建设一个网站教学设计工商网官网
  • 名城苏州网站wordpress+教材主题
  • 教程网站建设淮北哪里做网站
  • 课程网站建设做损坏文档的网站
  • 备案系统网站jsp网站建设技术案例
  • 学院网站群建设方案网站悬浮窗口代码
  • 做产品推广得网站代做淘宝客网站
  • 深圳网站关键词排名推广怎么做网站企业文化栏目
  • seo点击优化乐陵德州seo公司
  • 100m做电影网站信誉好的盐城网站开发
  • 兰州广告公司网站建设wordpress一键变灰色
  • 邯郸网站建设包括哪些wordpress 地图html
  • 横沥镇网站仿做做网站需要执照嘛
  • 网页制作网站建设一个虚拟主机如何做多个网站
  • 做英文网站的流程建筑施工企业主要负责人安全证书
  • 做网站到内容填充需要多久电脑版和手机版网站怎么做