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 时间处理datetime实例
Sep 06 Python
python中去空格函数的用法
Aug 21 Python
python实现堆栈与队列的方法
Jan 15 Python
python爬虫自动创建文件夹的功能
Aug 01 Python
python变量赋值方法(可变与不可变)
Jan 12 Python
浅谈Python大神都是这样处理XML文件的
May 31 Python
Python定时发送天气预报邮件代码实例
Sep 09 Python
Python使用matplotlib 画矩形的三种方式分析
Oct 31 Python
python3 tcp的粘包现象和解决办法解析
Dec 09 Python
40行Python代码实现天气预报和每日鸡汤推送功能
Feb 27 Python
django 多数据库及分库实现方式
Apr 01 Python
Python爬虫获取页面所有URL链接过程详解
Jun 04 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
PHP SPL标准库之SplFixedArray使用实例
2015/05/12 PHP
php7 安装yar 生成docker镜像
2017/05/09 PHP
PHPMailer ThinkPHP实现自动发送邮件功能
2018/06/10 PHP
php实现推荐功能的简单实例
2019/09/29 PHP
js数组操作学习总结
2013/11/04 Javascript
常用的JavaScript验证正则表达式汇总
2013/11/26 Javascript
javascript随机之洗牌算法深入分析
2014/06/07 Javascript
javascript实现复选框选中属性
2015/03/25 Javascript
jQuery.trim() 函数及trim()用法详解
2015/10/26 Javascript
js字符串截取函数slice、substring和substr的比较
2016/05/17 Javascript
Angular和Vue双向数据绑定的实现原理(重点是vue的双向绑定)
2016/11/22 Javascript
Vue.JS入门教程之处理表单
2016/12/01 Javascript
图解Javascript——作用域、作用域链、闭包
2017/03/21 Javascript
详解Vue的computed(计算属性)使用实例之TodoList
2017/08/07 Javascript
使用vs code开发Nodejs程序的使用方法
2017/09/21 NodeJs
vuex 解决报错this.$store.commit is not a function的方法
2018/12/17 Javascript
jQuery实现的别踩白块小游戏完整示例
2019/01/07 jQuery
layer ui 导入文件之前传入数据的实例
2019/09/23 Javascript
React中使用UMEditor的方法示例
2019/12/27 Javascript
JavaScript WeakMap使用详解
2021/02/05 Javascript
vue-router路由懒加载及实现的3种方式
2021/02/28 Vue.js
python+selenium+autoit实现文件上传功能
2017/08/23 Python
Python3学习笔记之列表方法示例详解
2017/10/06 Python
python通过配置文件共享全局变量的实例
2019/01/11 Python
python 将字符串完成特定的向右移动方法
2019/06/11 Python
pytorch 求网络模型参数实例
2019/12/30 Python
python 爬取古诗文存入mysql数据库的方法
2020/01/08 Python
Django中Aggregation聚合的基本使用方法
2020/07/09 Python
python中的时区问题
2021/01/14 Python
使用HTML5 Geolocation实现一个距离追踪器
2018/04/09 HTML / CSS
学生个人求职自荐信格式
2013/09/23 职场文书
商业项目策划方案
2014/06/05 职场文书
安全宣传标语口号
2014/06/06 职场文书
维稳承诺书
2015/01/20 职场文书
【DOTA2】总决赛血虐~ XTREME GAMING vs MAGMA - OGA DOTA PIT 2022 CN
2022/04/02 DOTA
pd.DataFrame中的几种索引变换的实现
2022/06/16 Python