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字符串的encode与decode研究心得乱码问题解决方法
Mar 23 Python
web.py中调用文件夹内模板的方法
Aug 26 Python
python语言使用技巧分享
May 31 Python
Python如何判断数独是否合法
Sep 08 Python
Flask-Mail用法实例分析
Jul 21 Python
Python第三方Window模块文件的几种安装方法
Nov 22 Python
详解Python字典的操作
Mar 04 Python
浅谈Django中view对数据库的调用方法
Jul 18 Python
Python实现性能自动化测试竟然如此简单
Jul 30 Python
浅析python内置模块collections
Nov 15 Python
python向企业微信发送文字和图片消息的示例
Sep 28 Python
python 利用PyAutoGUI快速构建自动化操作脚本
May 31 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
Sony CFR 320 修复改造
2020/03/14 无线电
延长phpmyadmin登录时间的方法
2011/02/06 PHP
有关PHP中MVC的开发经验分享
2012/05/17 PHP
Mysql中分页查询的两个解决方法比较
2013/05/02 PHP
JavaScript 对象成员的可见性说明
2009/10/16 Javascript
JQuery打造PHP的AJAX表单提交实例
2009/11/03 Javascript
js RuntimeObject() 获取ie里面自定义函数或者属性的集合
2010/11/23 Javascript
基于jquery的代码显示区域自动拉长效果
2011/12/07 Javascript
jquery.bgiframe.js在IE9下提示INVALID_CHARACTER_ERR错误
2013/01/11 Javascript
js获取html页面节点方法(递归方式)
2013/12/13 Javascript
编写高效jQuery代码的4个原则和5个技巧
2014/04/24 Javascript
js实现按一下删除键删除整个单词附demo
2014/09/05 Javascript
自动完成的搜索框javascript实现
2016/02/26 Javascript
JQuery Mobile实现导航栏和页脚
2016/03/09 Javascript
全面了解addEventListener和on的区别
2016/07/14 Javascript
bootstrapValidator bootstrap-select验证不可用的解决办法
2017/01/11 Javascript
详解ES6 系列之异步处理实战
2018/10/26 Javascript
Vue 开发必须知道的36个技巧(小结)
2019/10/09 Javascript
Python中操作符重载用法分析
2016/04/29 Python
Python使用Turtle模块绘制五星红旗代码示例
2017/12/11 Python
Python cookbook(数据结构与算法)实现优先级队列的方法示例
2018/02/18 Python
python 定时修改数据库的示例代码
2018/04/08 Python
PyQt弹出式对话框的常用方法及标准按钮类型
2019/02/27 Python
python实现加密的方式总结
2020/01/19 Python
Python descriptor(描述符)的实现
2020/11/15 Python
static全局变量与普通的全局变量有什么区别
2014/05/27 面试题
青春励志演讲稿
2014/04/29 职场文书
群众路线教育实践活动批评与自我批评
2014/09/15 职场文书
大四优秀党员个人民主评议
2014/09/19 职场文书
简单的辞职信范文(2016最新版)
2015/05/12 职场文书
罗马假日观后感
2015/06/08 职场文书
创业计划书之水果店
2019/07/18 职场文书
Python pandas读取CSV文件的注意事项(适合新手)
2021/06/20 Python
SSM项目使用拦截器实现登录验证功能
2022/01/22 Java/Android
分享一个vue实现的记事本功能案例
2022/04/11 Vue.js
go goth封装第三方认证库示例详解
2022/08/14 Golang