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 fabric使用笔记
May 09 Python
python 字符串转列表 list 出现\ufeff的解决方法
Jun 22 Python
python logging日志模块的详解
Oct 29 Python
python Flask实现restful api service
Dec 04 Python
Python调用C++,通过Pybind11制作Python接口
Oct 16 Python
Python判断telnet通不通的实例
Jan 26 Python
opencv与numpy的图像基本操作
Mar 08 Python
Python中字符串String的基本内置函数与过滤字符模块函数的基本用法
May 27 Python
Django Admin中增加导出CSV功能过程解析
Sep 04 Python
Python with语句和过程抽取思想
Dec 23 Python
Python中文分词库jieba,pkusegwg性能准确度比较
Feb 11 Python
Python selenium如何打包静态网页并下载
Aug 12 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简单开启gzip压缩方法(zlib.output_compression)
2013/04/13 PHP
解决phpmyadmin中缺少mysqli扩展问题的方法
2013/05/06 PHP
浅谈PHP与C#的值类型指向区别的详解
2013/05/21 PHP
jquery Mobile入门—外部链接切换示例代码
2013/01/08 Javascript
图片轮换效果实现代码(点击按钮停止执行)
2013/04/12 Javascript
使用js简单实现了tree树菜单
2013/11/20 Javascript
禁用Enter键表单自动提交实现代码
2014/05/22 Javascript
javascript去除字符串左右两端的空格
2015/02/05 Javascript
JavaScript数据类型之基本类型和引用类型的值
2015/04/01 Javascript
使用three.js 画渐变的直线
2016/06/05 Javascript
less简单入门(CSS 预处理语言)
2017/03/08 Javascript
简单的Vue异步组件实例Demo
2017/12/27 Javascript
jQuery解析json格式数据示例
2018/09/01 jQuery
开发用到的js封装方法(20种)
2018/10/12 Javascript
vue实现随机验证码功能的实例代码
2019/04/30 Javascript
微信小程序调用wx.getImageInfo遇到的坑解决
2020/05/31 Javascript
JavaScript监听键盘事件代码实现
2020/06/03 Javascript
vue3.0生命周期的示例代码
2020/09/24 Javascript
[01:33]一分钟玩转DOTA2第三弹:DOTA2&DotA快捷操作大对比
2014/06/04 DOTA
[04:37]DOTA2英雄梦之声Vol20发条
2014/06/20 DOTA
Python中isnumeric()方法的使用简介
2015/05/19 Python
python GUI库图形界面开发之PyQt5结合Qt Designer创建信号与槽的详细方法与实例
2020/03/08 Python
Python+redis通过限流保护高并发系统
2020/04/15 Python
Python实现图片指定位置加图片水印(附Pyinstaller打包exe)
2021/03/04 Python
iframe与window.onload如何使用详解
2020/05/07 HTML / CSS
大四自我鉴定范文
2013/10/06 职场文书
个人简历自我评价八例
2013/10/31 职场文书
应届毕业生求职自荐书
2014/01/03 职场文书
销售员态度差检讨书
2014/10/26 职场文书
成绩报告单家长评语
2014/12/30 职场文书
思想品德评语大全
2014/12/31 职场文书
单位介绍信格式
2015/01/31 职场文书
我们的节日端午节活动总结
2015/02/11 职场文书
党员承诺书范文2015
2015/04/27 职场文书
2015年幼儿园班务工作总结
2015/05/12 职场文书
2016年教师党员公开承诺书
2016/03/24 职场文书