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逐行读取文件内容的三种方法
Jan 20 Python
python实现网页链接提取的方法分享
Feb 25 Python
python中list循环语句用法实例
Nov 10 Python
深入浅析Python字符编码
Nov 12 Python
Python 闭包的使用方法
Sep 07 Python
Python实现的堆排序算法原理与用法实例分析
Nov 22 Python
python文件转为exe文件的方法及用法详解
Jul 08 Python
使用python实现unix2dos和dos2unix命令的例子
Aug 13 Python
pandas 中对特征进行硬编码和onehot编码的实现
Dec 20 Python
用python拟合等角螺线的实现示例
Dec 27 Python
windows下Pycharm安装opencv的多种方法
Mar 05 Python
教你如何用python开发一款数字推盘小游戏
Apr 14 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 JSON格式的中文显示问题解决方法
2015/04/09 PHP
PHP基于单例模式编写PDO类的方法
2016/09/13 PHP
PHP截取发动短信内容的方法
2017/07/04 PHP
PHP实现数组的笛卡尔积运算示例
2017/12/15 PHP
PHP设计模式之状态模式定义与用法详解
2018/04/02 PHP
Jquery 基础学习笔记
2009/05/29 Javascript
JavaScript中的prototype使用说明
2010/04/13 Javascript
JS禁用浏览器退格键实现思路及代码
2013/10/29 Javascript
在JavaScript中构建ArrayList示例代码
2014/09/17 Javascript
jQuery中:not选择器用法实例
2014/12/30 Javascript
jQuery判断数组是否包含了指定的元素
2015/03/10 Javascript
Jquery结合HTML5实现文件上传
2015/06/25 Javascript
详解基于javascript实现的苹果系统底部菜单
2016/12/02 Javascript
JavaScript数据结构中串的表示与应用实例
2017/04/12 Javascript
JavaScript怎样在删除前添加确认弹出框?
2019/05/27 Javascript
[03:22]DAC最前线(第二期)—DOTA2亚洲邀请赛主赛场周边及线路探访
2015/01/24 DOTA
[56:38]DOTA2-DPC中国联赛正赛Aster vs Magma BO3 第一场 3月5日
2021/03/11 DOTA
Python基于xlrd模块操作Excel的方法示例
2018/06/21 Python
谈谈Python中的while循环语句
2019/03/10 Python
Python实现将HTML转成PDF的方法分析
2019/05/04 Python
查看Python依赖包及其版本号信息的方法
2019/08/13 Python
Django中ORM找出内容不为空的数据实例
2020/05/20 Python
Django视图、传参和forms验证操作
2020/07/15 Python
python实现xml转json文件的示例代码
2020/12/30 Python
css3图片边框border-image的用法
2017/06/30 HTML / CSS
垃圾回收的优点和原理
2014/05/16 面试题
财务部岗位职责
2013/11/19 职场文书
化工专业大学生职业生涯规划书
2014/01/14 职场文书
境外导游求职信
2014/02/27 职场文书
好习惯伴我成长演讲稿
2014/05/21 职场文书
小学生2014国庆节演讲稿:祖国在我心中
2014/09/21 职场文书
2014年图书馆工作总结
2014/11/25 职场文书
敬老院志愿者活动总结
2015/05/06 职场文书
2016小学教师读书心得体会
2016/01/13 职场文书
资深HR教你写好简历中的自我评价
2019/05/07 职场文书
Centos7中MySQL数据库使用mysqldump进行每日自动备份的编写
2021/08/02 MySQL