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字典写入文件出行首行有空格的问题
Sep 27 Python
详解python上传文件和字符到PHP服务器
Nov 24 Python
Python科学画图代码分享
Nov 29 Python
PyQt5 QSerialPort子线程操作的实现
Apr 21 Python
python的pandas工具包,保存.csv文件时不要表头的实例
Jun 14 Python
在IPython中执行Python程序文件的示例
Nov 01 Python
详解pandas库pd.read_excel操作读取excel文件参数整理与实例
Feb 17 Python
python访问hdfs的操作
Jun 06 Python
Python jieba结巴分词原理及用法解析
Nov 05 Python
python 实现围棋游戏(纯tkinter gui)
Nov 13 Python
Selenium 安装和简单使用的实现
Dec 04 Python
Django项目在pycharm新建的步骤方法
Mar 02 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中一个控制字符串输出的函数
2006/10/09 PHP
Ajax+PHP 边学边练之四 表单
2009/11/27 PHP
深入了解PHP类Class的概念
2012/06/14 PHP
php目录拷贝实现方法
2015/07/10 PHP
jquery 常用操作整理 基础入门篇
2009/10/14 Javascript
jQuery表单获取和失去焦点输入框提示效果的实例代码
2013/08/01 Javascript
js之onload事件的一点使用心得
2013/08/14 Javascript
node.js不得不说的12点内容
2014/07/14 Javascript
jQuery实现文件上传进度条特效
2015/08/12 Javascript
基于JavaScript实现带缩略图的轮播效果
2017/01/12 Javascript
微信小程序之蓝牙的链接
2017/09/26 Javascript
Vue组件开发之LeanCloud带图形校验码的短信发送功能
2017/11/07 Javascript
JavaScript内存泄漏的处理方式
2017/11/20 Javascript
红黑树的插入详解及Javascript实现方法示例
2018/03/26 Javascript
详解webpack-dev-server的简单使用
2018/04/02 Javascript
浅谈webpack SplitChunksPlugin实用指南
2018/09/17 Javascript
JS立即执行函数功能与用法分析
2019/01/15 Javascript
原生js实现3D轮播图
2020/03/21 Javascript
jQuery实现聊天对话框
2020/02/08 jQuery
three.js 将图片马赛克化的示例代码
2020/07/31 Javascript
vant-ui框架的一个bug(解决切换后onload不触发)
2020/11/11 Javascript
[02:14]完美“圣”典2016风云人物:xiao8专访
2016/12/01 DOTA
Python EOL while scanning string literal问题解决方法
2020/09/18 Python
Python实现截屏的函数
2015/07/25 Python
django加载本地html的方法
2018/05/27 Python
vscode 配置 python3开发环境的方法
2019/09/19 Python
Python matplotlib修改默认字体的操作
2020/03/05 Python
浅谈HTML5新增及移除的元素
2016/06/27 HTML / CSS
英国第一蛋白粉品牌:Myprotein
2016/09/14 全球购物
日本亚马逊官方网站:Amazon.co.jp
2020/04/14 全球购物
zooplus德国:便宜地订购动物用品、动物饲料、动物食品
2020/05/06 全球购物
UNIX特点都有哪些
2016/04/05 面试题
乡镇消防工作实施方案
2014/03/27 职场文书
项目投资建议书
2014/05/16 职场文书
总经理岗位职责说明书
2014/07/30 职场文书
生日祝酒词大全
2015/08/10 职场文书