ajax从mysql提取数据在html中_Python骚操作,提取pdf文件中的表格数据!
在实际研究中,我们经常需要获取大量数据,而这些数据很大一部分以pdf表格的形式呈现,如公司年报、发行上市公告等。面对如此多的数据表格,采用手工复制黏贴的方式显然并不可取。那么如何才能高效提取出pdf文件中的表格数据呢?
这是小编准备的python爬虫学习资料,关注,转发,私信小编“01”即可免费获取!
Python提供了许多可用于pdf表格识别的库,如camelot、tabula、pdfplumber等。综合来看,pdfplumber库的性能较佳,能提取出完整、且相对规范的表格。因此,本推文也主要介绍pdfplumber库在pdf表格提取中的作用。
作为一个强大的pdf文件解析工具,pdfplumber库可迅速将pdf文档转换为易于处理的txt文档,并输出pdf文档的字符、页面、页码等信息,还可进行页面可视化操作。使用pdfplumber库前需先安装,即在cmd命令行中输入:
pip install pdfplumber
pdfplumber库提供了两种pdf表格提取函数,分别为.extract_tables( )及.extract_table( ),两种函数提取结果存在差异。为进行演示,我们网站上下载了一份短期融资券主体信用评级报告,为pdf格式。任意选取某一表格,其界面如下:
接下来,我们简要分析两种提取模式下的结果差异。
(1).extract_tables( )
可输出页面中所有表格,并返回一个嵌套列表,其结构层次为table→row→cell。此时,页面上的整个表格被放入一个大列表中,原表格中的各行组成该大列表中的各个子列表。若需输出单个外层列表元素,得到的便是由原表格同一行元素构成的列表。例如,我们执行如下程序:
输出结果:
(2).extract_table( )
返回多个独立列表,其结构层次为row→cell。若页面中存在多个行数相同的表格,则默认输出顶部表格;否则,仅输出行数最多的一个表格。此时,表格的每一行都作为一个单独的列表,列表中每个元素即为原表格的各个单元格内容。若需输出某个元素,得到的便是具体的数值或字符串。如下:
输出结果:
在此基础上,我们详细介绍如何从pdf文件中提取表格数据。其中一种思路便是将提取出的列表视为一个字符串,结合Python的正则表达式re模块进行字符串处理后,将其保存为以标准英文逗号分隔、可被Excel识别的csv格式文件,即进行如下操作:
输出结果:
尽管能获得完整的表格数据,但这种方法相对不易理解,且在处理结构不规则的表格时容易出错。由于通过pdfplumber库提取出的表格数据为整齐的列表结构,且含有数字、字符串等数据类型。因此,我们可调用pandas库下的DataFrame( )函数,将列表转换为可直接输出至Excel的DataFrame数据结构。DataFrame的基本构造函数如下:
DataFrame([data,index, columns])
三个参数data、index和columns分别代表创建对象、行索引和列索引。DataFrame类型可由二维ndarray对象、列表、字典、元组等创建。本推文中的data即指整个pdf表格,提取程序如下:
其中,table[1:]表示选定整个表格进行DataFrame对象创建,columns=table[0]表示将表格第一行元素作为列变量名,且不创建行索引。输出Excel表格如下:
通过以上简单程序,我们便提取出了完整的pdf表格。但需注意的是,面对不规则的表格数据提取,创建DataFrame对象的方法依然可能出错,在实际操作中还需进行核对。
ajax从mysql提取数据在html中_Python骚操作,提取pdf文件中的表格数据!相关推荐
- python抓取表格数据_Python如何实现从PDF文件中爬取表格数据(代码示例)
本篇文章给大家带来的内容是关于Python如何实现从PDF文件中爬取表格数据(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 本文将展示一个稍微不一样点的爬虫. 以往我们的 ...
- JavaScript中的骚操作
JavaScript中的骚操作--记录自用 JavaScript中的骚操作 数组去重 数组转化为对象(Array to Object) 活用三元表达式 转换为数字类型(Convert to Numbe ...
- gnuradio上怎么使用python文件_使用Python从PDF文件中提取数据
前言 数据是数据科学中任何分析的关键,大多数分析中最常用的数据集类型是存储在逗号分隔值(csv)表中的干净数据.然而,由于可移植文档格式(pdf)文件是最常用的文件格式之一,因此每个数据科学家都应该了 ...
- 使用Python从PDF文件中提取数据
前言 数据是数据科学中任何分析的关键,大多数分析中最常用的数据集类型是存储在逗号分隔值(csv)表中的干净数据.然而,由于可移植文档格式(pdf)文件是最常用的文件格式之一,因此每个数据科学家都应该了 ...
- python 提取pdf表格_用Python提取pdf文件中的表格数据
本文作者:杨慧琳 本文编辑:周聪聪 技术总编:张学人有问题,不要怕!访问 http://www.wuhanstring.com/uploads/5_aboutus/爬虫俱乐部-用户问题登记表.docx ...
- python提取pdf表格数据_Python骚操作,提取pdf文件中的表格数据!
在实际研究中,我们经常需要获取大量数据,而这些数据很大一部分以pdf表格的形式呈现,如公司年报.发行上市公告等.面对如此多的数据表格,采用手工复制黏贴的方式显然并不可取.那么如何才能高效提取出pdf文 ...
- python批量提取pdf的数据_Python批量提取PDF文件中文本的脚本
本文实例为大家分享了Python批量提取PDF文件中文本的具体代码,供大家参考,具体内容如下 首先需要执行命令pip install pdfminer3k来安装处理PDF文件的扩展库. import ...
- python图片保存为txt文件_python + opencv实现提取png图像的像素信息并存储到txt文件中(附安装指导)...
相关库安装指导: 这里我们需要 opencv_python,numpy,matplotlib库,另外我用的是python3.6.1版本. 一般库大家都是用pip install命令安装的,不过不知道为 ...
- pdf exe如何提取pdf文件_python应用:如何用python提取pdf文件中的文字
从pdf中提取文字,相信很多人都干过这事,怎么在python中实现呢,今天带大家看看. 第一步导入库 import PyPDF2 第二步导入pdf文件 pdf_file =open('dataset/ ...
最新文章
- c2065 未声明的标识符 解决ok
- win10系统下cmd输入一下安装的软件命令提示拒绝访问解决办法
- 解决pycharm输入法不跟随的方法
- php个推设置指定用户收到推送消息,请问怎么给指定用户推送信息
- mysql表还原初始状态_workbench 怎么恢复初始设置
- oracle sql的正则表达式,Oracle SQL 语句中正则表达式的应用
- domino Format函数详解
- [转载] python histogram函数_Python numpy.histogram_bin_edges函数方法的使用
- Java中的静态变量、静态方法问题
- ExtJs4 基础必备
- ssh遇到密钥更改问题
- JS window对象
- 大数据 (三) BI报表系统 superset 2 制作表格
- AutoSar之微控制器抽象层MCAL
- vue出生日期转年龄
- 【云服务器 ECS 实战】ECS 快照镜像的原理及用法详解
- 《东周列国志》第六十二回 诸侯同心围齐国 晋臣合计逐栾盈
- BUUCTF NewStarCTF 公开赛赛道Week5 Writeup
- 每次进空间都会看。。。让你懂得很多——触动心脏的微小说
- 初学者之路——————信息
热门文章
- Nginx配置文件nginx.conf (Apache)
- IoC(Inversion of Control,控制反转)模式
- 网管和***都必须知道的命令
- 用.NET CF进行HardReset?
- 【扫盲帖】Java、JavaScript、JSP、JScript 的区别与联系
- 两台笔记本如何不走路由而是通过无线网卡互联
- Ajax简单异步上传图片并回显
- C# string.Format谨慎使用
- Java注解(Annotation)详解
- Word文档转html并提取标题