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使用PyGreSQL操作PostgreSQL数据库教程
Jul 30 Python
python实现比较两段文本不同之处的方法
May 30 Python
使用Python求解最大公约数的实现方法
Aug 20 Python
你应该知道的python列表去重方法
Jan 17 Python
python 实现自动远程登陆scp文件实例代码
Mar 13 Python
Python使用回溯法子集树模板解决爬楼梯问题示例
Sep 08 Python
django文档学习之applications使用详解
Jan 29 Python
python实现数独游戏 java简单实现数独游戏
Mar 30 Python
python3实现163邮箱SMTP发送邮件
May 22 Python
通过PHP与Python代码对比的语法差异详解
Jul 10 Python
python适合做数据挖掘吗
Jun 16 Python
解决Ubuntu18中的pycharm不能调用tensorflow-gpu的问题
Sep 17 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
hadoop中一些常用的命令介绍
2013/06/19 PHP
解析Extjs与php数据交互(增删查改)
2013/06/25 PHP
PHP生成自定义长度随机字符串的函数分享
2014/05/04 PHP
php简单socket服务器客户端代码实例
2015/05/18 PHP
WordPress中创建用户角色的相关PHP函数使用详解
2015/12/25 PHP
innerText和innerHTML 一些问题分析
2009/05/18 Javascript
Javascript 读书笔记索引贴
2010/01/11 Javascript
jQuery插件实现屏蔽单个元素使用户无法点击
2013/04/12 Javascript
分享20个提升网站界面体验的jQuery插件
2014/12/15 Javascript
js实现单张图片平移切换效果
2017/10/11 Javascript
JS实现元素上下左右移动效果
2017/10/18 Javascript
vue利用better-scroll实现轮播图与页面滚动详解
2017/10/20 Javascript
深入理解ES6中let和闭包
2018/02/22 Javascript
JavaScript实现异步图像上传功能
2018/07/12 Javascript
Vue中div contenteditable 的光标定位方法
2018/08/25 Javascript
对Vue beforeRouteEnter 的next执行时机详解
2018/08/25 Javascript
更改BootStrap popover的默认样式及popover简单用法
2018/09/13 Javascript
vue微信分享出来的链接点开是首页问题的解决方法
2018/11/28 Javascript
在vue项目中优雅的使用SVG的方法实例详解
2018/12/03 Javascript
详解如何使用node.js的开发框架express创建一个web应用
2018/12/20 Javascript
react-native聊天室|RN版聊天App仿微信实例|RN仿微信界面
2019/11/12 Javascript
Python中tell()方法的使用详解
2015/05/24 Python
python解压TAR文件至指定文件夹的实例
2019/06/10 Python
django-rest-swagger的优化使用方法
2019/08/29 Python
PyCharm 2019.3发布增加了新功能一览
2019/12/08 Python
Python-openCV读RGB通道图实例
2020/01/17 Python
python代码如何注释
2020/06/01 Python
CSS3 三维变形实现立体方块特效源码
2016/12/15 HTML / CSS
网页中的电话号码如何实现一键直呼效果_附示例
2016/03/15 HTML / CSS
微信小程序“圣诞帽”的实现思路详解
2017/12/28 HTML / CSS
基于 HTML5 WebGL 实现的医疗物流系统
2019/10/08 HTML / CSS
Allen Edmonds官方网站:一家美国优质男士鞋类及配饰制造商
2019/03/12 全球购物
Aeropostale官网:美国著名校园品牌及青少年服饰品牌
2019/03/21 全球购物
应届生保险求职信
2013/11/11 职场文书
一份报关员的职业规划范文
2014/01/08 职场文书
OpenCV3.3+Python3.6实现图片高斯模糊
2021/05/18 Python