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 socket C/S结构的聊天室应用实现
Nov 30 Python
linux平台使用Python制作BT种子并获取BT种子信息的方法
Jan 20 Python
Linux-ubuntu16.04 Python3.5配置OpenCV3.2的方法
Apr 02 Python
Python基础之函数的定义与使用示例
Mar 23 Python
Python3.6安装卸载、执行命令、执行py文件的方法详解
Feb 20 Python
python GUI库图形界面开发之PyQt5切换按钮控件QPushButton详细使用方法与实例
Feb 28 Python
python中sklearn的pipeline模块实例详解
May 21 Python
Python实现清理微信僵尸粉功能示例【基于itchat模块】
May 29 Python
Python 处理日期时间的Arrow库使用
Aug 18 Python
用Python实现定时备份Mongodb数据并上传到FTP服务器
Jan 27 Python
python如何构建mock接口服务
Jan 28 Python
python中redis包操作数据库的教程
Apr 19 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
第四节--构造函数和析构函数
2006/11/16 PHP
php中用socket模拟http中post或者get提交数据的示例代码
2013/08/08 PHP
thinkphp微信开之安全模式消息加密解密不成功的解决办法
2015/12/02 PHP
PHP自定义函数实现数组比较功能示例
2017/10/19 PHP
详解PHP 二维数组排序保持键名不变
2019/03/06 PHP
Mootools 1.2教程 排序类和方法简介
2009/09/15 Javascript
javascript的console.log()用法小结
2012/05/31 Javascript
Js操作Select大全(取值、设置选中等等)
2013/10/29 Javascript
js解决movebox移动问题
2016/03/29 Javascript
纯JS前端实现分页代码
2016/06/21 Javascript
nodejs中使用HTTP分块响应和定时器示例代码
2017/03/19 NodeJs
详解webpack 配合babel 将es6转成es5 超简单实例
2017/05/02 Javascript
JS+canvas画一个圆锥实例代码
2017/12/13 Javascript
vue通过路由实现页面刷新的方法
2018/01/25 Javascript
javascript将非数值转换为数值
2018/09/13 Javascript
微信小程序下拉框搜索功能的实现方法
2019/07/31 Javascript
如何利用 JS 脚本实现网页全自动秒杀抢购功能
2020/10/12 Javascript
Python判断变量是否已经定义的方法
2014/08/18 Python
关于你不想知道的所有Python3 unicode特性
2014/11/28 Python
Python虚拟环境项目实例
2017/11/20 Python
微信跳一跳python代码实现
2018/01/05 Python
python 筛选数据集中列中value长度大于20的数据集方法
2018/06/14 Python
在自动化中用python实现键盘操作的方法详解
2019/07/19 Python
Python爬虫图片懒加载技术 selenium和PhantomJS解析
2019/09/18 Python
基于Keras中Conv1D和Conv2D的区别说明
2020/06/19 Python
Django实现简单的分页功能
2021/02/22 Python
芬兰灯具网上商店:Nettilamppu.fi
2018/06/30 全球购物
Java的基础面试题附答案
2016/01/10 面试题
销售人员中英文自荐信
2013/09/22 职场文书
历史专业毕业生的自我鉴定
2013/11/15 职场文书
结构工程个人自荐信范文
2013/11/30 职场文书
远程培训的心得体会
2014/09/01 职场文书
2014乡镇班子个人对照检查材料思想汇报
2014/09/26 职场文书
2015年建筑工作总结报告
2015/05/04 职场文书
初中重阳节活动总结
2015/05/05 职场文书
女性健康讲座主持词
2015/07/04 职场文书