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制作CSDN免积分下载器
Mar 10 Python
python使用BeautifulSoup分页网页中超链接的方法
Apr 04 Python
python实现的希尔排序算法实例
Jul 01 Python
python自定义异常实例详解
Jul 11 Python
Python3实现定时任务的四种方式
Jun 03 Python
python实现大文件分割与合并
Jul 22 Python
Django中的静态文件管理过程解析
Aug 01 Python
Python之Numpy的超实用基础详细教程
Oct 23 Python
基于python实现学生信息管理系统
Nov 22 Python
python读取raw binary图片并提取统计信息的实例
Jan 09 Python
Django+boostrap 美化admin后台的操作
Mar 11 Python
python 中的@运算符使用
May 26 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
mysql总结之explain
2012/02/27 PHP
laravel框架邮箱认证实现方法详解
2019/11/22 PHP
远离JS灾难css灾难之 js私有函数和css选择器作为容器
2011/12/11 Javascript
获取元素距离浏览器周边的位置的方法getBoundingClientRect
2013/04/17 Javascript
排序算法的javascript实现与讲解(99js手记)
2014/09/28 Javascript
js实现两点之间画线的方法
2015/05/12 Javascript
不定义JQuery插件 不要说会JQuery
2016/03/07 Javascript
利用原生js和jQuery实现单选框的勾选和取消操作的方法
2016/09/04 Javascript
浅谈javascript:两种注释,声明变量,定义函数
2016/09/29 Javascript
KnockoutJS 3.X API 第四章之数据控制流foreach绑定
2016/10/10 Javascript
Vue.js创建Calendar日历效果
2016/11/03 Javascript
Angular ng-repeat遍历渲染完页面后执行其他操作详细介绍
2016/12/13 Javascript
JavaScript运动框架 解决速度正负取整问题(一)
2017/05/17 Javascript
React利用插件和不用插件实现双向绑定的方法详解
2017/07/03 Javascript
vue axios整合使用全攻略
2018/05/24 Javascript
Node.js中的child_process模块详解
2018/06/08 Javascript
Vue-cli3.x + axios 跨域方案踩坑指北
2019/07/04 Javascript
layui扩展上传组件模拟进度条的方法
2019/09/23 Javascript
python简单实现旋转图片的方法
2015/05/30 Python
Django model序列化为json的方法示例
2018/10/16 Python
python 定时器,轮询定时器的实例
2019/02/20 Python
Python零基础入门学习之输入与输出
2019/04/03 Python
Python多线程threading模块用法实例分析
2019/05/22 Python
Django组件content-type使用方法详解
2019/07/19 Python
如何基于Python pygame实现动画跑马灯
2020/11/18 Python
Room Mate Hotels美国:西班牙酒店品牌
2018/04/10 全球购物
医学院学生的自我评价分享
2013/11/19 职场文书
《曹刿论战》教学反思
2014/03/02 职场文书
秋季开学典礼主持词
2014/03/19 职场文书
个人承诺书
2014/03/26 职场文书
法院授权委托书范文
2014/08/02 职场文书
个人工作总结范文2014
2014/11/07 职场文书
幼儿园工作总结2015
2015/04/01 职场文书
2019企业给员工的慰问信
2019/06/24 职场文书
position:sticky 粘性定位的几种巧妙应用详解
2021/04/24 HTML / CSS
第四次工业革命,打工人与机器人的竞争
2022/04/21 数码科技