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出现_warn_unsafe_extraction问题的方法
Mar 24 Python
python django 访问静态文件出现404或500错误
Jan 20 Python
浅谈numpy中linspace的用法 (等差数列创建函数)
Jun 07 Python
python中如何正确使用正则表达式的详细模式(Verbose mode expression)
Nov 08 Python
python使用xslt提取网页数据的方法
Feb 23 Python
将Django项目部署到CentOs服务器中
Oct 18 Python
PyCharm设置护眼背景色的方法
Oct 29 Python
python3 实现对图片进行局部切割的方法
Dec 05 Python
python实现一个简单的ping工具方法
Jan 31 Python
Python 使用元类type创建类对象常见应用详解
Oct 17 Python
tensorflow 变长序列存储实例
Jan 20 Python
使用keras实现Precise, Recall, F1-socre方式
Jun 15 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
Smarty变量调节器失效的解决办法
2014/08/20 PHP
解决phpcms更换javascript的幻灯片代码调用图片问题
2014/12/26 PHP
laravel中命名路由的使用方法
2017/02/24 PHP
php字符串函数 str类常见用法示例
2020/05/15 PHP
百度Popup.js弹出框进化版 拖拽小框架发布 兼容IE6/7/8,Firefox,Chrome
2010/04/13 Javascript
JQuery中getJSON的使用方法
2010/12/13 Javascript
jQuery的ajax和遍历数组json实例代码
2016/08/01 Javascript
ES6所改良的javascript“缺陷”问题
2016/08/23 Javascript
HTML中使背景图片自适应浏览器大小实例详解
2017/04/06 Javascript
详解Node.js中exports和module.exports的区别
2017/04/19 Javascript
详解使用Typescript开发node.js项目(简单的环境配置)
2017/10/09 Javascript
JavaScript自执行函数和jQuery扩展方法详解
2017/10/27 jQuery
vue项目中的webpack-dev-sever配置方法
2017/12/14 Javascript
vue checkbox 全选 数据的绑定及获取和计算方法
2018/02/09 Javascript
详解Immutable及 React 中实践
2018/03/01 Javascript
vue项目首屏加载时间优化实战
2019/04/23 Javascript
Layer组件多个iframe弹出层打开与关闭及参数传递的方法
2019/09/25 Javascript
vue data恢复初始化数据的实现方法
2019/10/31 Javascript
Python使用新浪微博API发送微博的例子
2014/04/10 Python
零基础写python爬虫之爬虫编写全记录
2014/11/06 Python
Python程序退出方式小结
2017/12/09 Python
python 3.6.2 安装配置方法图文教程
2018/09/18 Python
python导入pandas具体步骤方法
2019/06/23 Python
纯CSS3打造动感漂亮时尚的扇形菜单
2014/03/18 HTML / CSS
HTML5 MiranaVideo播放器 (代码开源)
2010/06/11 HTML / CSS
为中国消费者甄选天下优品:网易严选
2016/08/11 全球购物
Born鞋子官网:Born Shoes
2017/04/06 全球购物
公司活动邀请函
2014/01/24 职场文书
开业主持词
2014/03/21 职场文书
部门年终奖分配方案
2014/05/07 职场文书
联片教研活动总结
2014/07/01 职场文书
2015年六一儿童节活动方案
2015/05/05 职场文书
赤壁观后感(2)
2015/06/15 职场文书
学校2016年九九重阳节活动总结
2016/04/01 职场文书
创业计划之特色精品店
2019/08/12 职场文书
golang实现一个简单的websocket聊天室功能
2021/10/05 Golang