python从PDF中提取数据的示例


Posted in Python onOctober 30, 2020

01

前言

数据是数据科学中任何分析的关键,大多数分析中最常用的数据集类型是存储在逗号分隔值(csv)表中的干净数据。然而,由于可移植文档格式(pdf)文件是最常用的文件格式之一,因此每个数据科学家都应该了解如何从pdf文件中提取数据,并将数据转换为诸如“csv”之类的格式,以便用于分析或构建模型。

在本文中,我们将重点讨论如何从pdf文件中提取数据表。类似的分析可以用于从pdf文件中提取其他类型的数据,如文本或图像。我们将说明如何从pdf文件中提取数据表,然后将其转换为适合于进一步分析和构建模型的格式。我们将给出一个实例。

python从PDF中提取数据的示例

02

示例:使用Python从PDF文件中提取一个表格

a)将表复制到Excel并保存为table_1_raw.csv

python从PDF中提取数据的示例

数据以一维格式存储,必须进行重塑、清理和转换。

b)导入必要的库

import pandas as pd
import numpy as np

c)导入原始数据,重新定义数据

df=pd.read_csv("table_1_raw.csv", header=None)
df.values.shape
df2=pd.DataFrame(df.values.reshape(25,10))
column_names=df2[0:1].values[0]
df3=df2[1:]
df3.columns = df2[0:1].values[0]
df3.head()

python从PDF中提取数据的示例

d)使用字符串处理工具进行数据纠缠

我们从上面的表格中注意到,x5、x6和x7列是用百分比表示的,所以我们需要去掉percent(%)符号:

df4['x5']=list(map(lambda x: x[:-1], df4['x5'].values))
df4['x6']=list(map(lambda x: x[:-1], df4['x6'].values))
df4['x7']=list(map(lambda x: x[:-1], df4['x7'].values))

e)将数据转换为数字形式

我们注意到列x5、x6和x7的列值数据类型为string,因此我们需要将它们转换为数值数据,如下所示:

df4['x5']=[float(x) for x in df4['x5'].values]
df4['x6']=[float(x) for x in df4['x6'].values]
df4['x7']=[float(x) for x in df4['x7'].values]

f)查看转换数据的最终形式

df4.head(n=5)

python从PDF中提取数据的示例

g)导出最终数据到一个csv文件

df4.to_csv('table_1_final.csv',index=False)

以上就是python从PDF中提取数据的示例的详细内容,更多关于python 提取PDF数据的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
Python时区设置方法与pytz查询时区教程
Nov 27 Python
python实现图片变亮或者变暗的方法
Jun 01 Python
基于python实现的抓取腾讯视频所有电影的爬虫
Apr 22 Python
python网络编程调用recv函数完整接收数据的三种方法
Mar 31 Python
Python实现屏幕截图的两种方式
Feb 05 Python
总结python中pass的作用
Feb 27 Python
Python对HTML转义字符进行反转义的实现方法
Apr 28 Python
Python整数与Numpy数据溢出问题解决
Sep 11 Python
Django和Flask框架优缺点对比
Oct 24 Python
通过python连接Linux命令行代码实例
Feb 18 Python
在Python 的线程中运行协程的方法
Feb 24 Python
Python发送邮件实现基础解析
Aug 14 Python
详解python百行有效代码实现汉诺塔小游戏(简约版)
Oct 30 #Python
python boto和boto3操作bucket的示例
Oct 30 #Python
python 多进程和协程配合使用写入数据
Oct 30 #Python
python打包生成so文件的实现
Oct 30 #Python
pytorch 移动端部署之helloworld的使用
Oct 30 #Python
把Anaconda中的环境导入到Pycharm里面的方法步骤
Oct 30 #Python
Python模拟登录和登录跳转的参考示例
Oct 30 #Python
You might like
PHP运行时强制显示出错信息的代码
2011/04/20 PHP
PHP SESSION的增加、删除、修改、查看操作
2015/03/20 PHP
Windows Server 2008 R2和2012中PHP连接MySQL过慢的解决方法
2016/07/02 PHP
redirect_uri参数错误的解决方法(必看)
2017/02/16 PHP
详解如何在云服务器上部署Laravel
2017/06/30 PHP
PHP Swoole异步MySQL客户端实现方法示例
2019/10/24 PHP
php-7.3.6 编译安装过程
2020/02/11 PHP
php+mysql实现的无限分类方法类定义与使用示例
2020/05/27 PHP
PHP var关键字相关原理及使用实例解析
2020/07/11 PHP
jQuery中Dom的基本操作小结
2014/01/23 Javascript
js修改原型的属性使用介绍
2014/01/26 Javascript
jQuery使用$.ajax提交表单完整实例
2015/12/11 Javascript
json与jsonp知识小结(推荐)
2016/08/16 Javascript
JavaScript使用Range调色及透明度实例
2016/09/25 Javascript
浅谈AngularJS中ng-class的使用方法
2016/11/11 Javascript
nodejs实现爬取网站图片功能
2017/12/14 NodeJs
layui数据表格实现重载数据表格功能(搜索功能)
2019/07/27 Javascript
使用layer.msg 时间设置不起作用的解决方法
2019/09/12 Javascript
基于js实现复制内容到操作系统粘贴板过程解析
2019/10/11 Javascript
layui 数据表格 根据值(1=业务,2=机构)显示中文名称示例
2019/10/26 Javascript
vue子传父关于.sync与$emit的实现
2019/11/05 Javascript
python数据结构树和二叉树简介
2014/04/29 Python
python使用xmlrpclib模块实现对百度google的ping功能
2015/06/02 Python
十条建议帮你提高Python编程效率
2016/02/16 Python
python 找出list中最大或者最小几个数的索引方法
2018/10/30 Python
Python内存管理实例分析
2019/07/10 Python
使用OpenCV实现仿射变换—缩放功能
2019/08/29 Python
python实现拼图小游戏
2020/02/22 Python
总结Pyinstaller的坑及终极解决方法(小结)
2020/09/21 Python
python全栈开发语法总结
2020/11/22 Python
css3实现顶部社会化分享按钮示例
2014/05/06 HTML / CSS
Tiqets荷兰:出售欧洲最美丽的景点和博物馆门票
2018/01/09 全球购物
校园门卫岗位职责
2013/12/09 职场文书
小学教师听课制度
2014/02/01 职场文书
教师通用专业自荐书范文
2014/02/11 职场文书
Python如何使用logging为Flask增加logid
2021/03/30 Python