python从PDF中提取数据的示例

 更新时间:2020年10月30日 16:03:48   作者:HuangWeiAI  
这篇文章主要介绍了python从PDF中提取数据的示例,帮助大家提高办公效率,感兴趣的朋友可以了解下
(福利推荐:【腾讯云】服务器最新限时优惠活动,云服务器1核2G仅99元/年、2核4G仅768元/3年,立即抢购>>>:9i0i.cn/qcloud

(福利推荐:你还在原价购买阿里云服务器?现在阿里云0.8折限时抢购活动来啦!4核8G企业云服务器仅2998元/3年,立即抢购>>>:9i0i.cn/aliyun

01

前言

数据是数据科学中任何分析的关键,大多数分析中最常用的数据集类型是存储在逗号分隔值(csv)表中的干净数据。然而,由于可移植文档格式(pdf)文件是最常用的文件格式之一,因此每个数据科学家都应该了解如何从pdf文件中提取数据,并将数据转换为诸如“csv”之类的格式,以便用于分析或构建模型。

在本文中,我们将重点讨论如何从pdf文件中提取数据表。类似的分析可以用于从pdf文件中提取其他类型的数据,如文本或图像。我们将说明如何从pdf文件中提取数据表,然后将其转换为适合于进一步分析和构建模型的格式。我们将给出一个实例。

02

示例:使用Python从PDF文件中提取一个表格

a)将表复制到Excel并保存为table_1_raw.csv

数据以一维格式存储,必须进行重塑、清理和转换。

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()

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)

g)导出最终数据到一个csv文件

df4.to_csv('table_1_final.csv',index=False)

以上就是python从PDF中提取数据的示例的详细内容,更多关于python 提取PDF数据的资料请关注程序员之家其它相关文章!

相关文章

  • Python函数和模块的使用详情

    Python函数和模块的使用详情

    这篇文章主要介绍了Python函数和模块的使用详情,文章基于python的相关资料展开主题的具体介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-04-04
  • python实现对csv文件的列的内容读取

    python实现对csv文件的列的内容读取

    今天小编就为大家分享一篇python实现对csv文件的列的内容读取,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-07-07
  • python网络编程学习笔记(三):socket网络服务器

    python网络编程学习笔记(三):socket网络服务器

    服务器和客户端程序很类似,上节学习了客户端程序,这一节将仔细学习一下利用socket建立TCP服务器和UDP服务器
    2014-06-06
  • 24式加速你的Python(小结)

    24式加速你的Python(小结)

    这篇文章主要介绍了24式加速你的Python(小结),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-06-06
  • Django模型序列化返回自然主键值示例代码

    Django模型序列化返回自然主键值示例代码

    这篇文章主要给大家介绍了关于Django模型序列化返回自然主键值的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Django具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-06-06
  • 10分钟教你用python动画演示深度优先算法搜寻逃出迷宫的路径

    10分钟教你用python动画演示深度优先算法搜寻逃出迷宫的路径

    这篇文章主要介绍了10分钟教你用python动画演示深度优先算法搜寻逃出迷宫的路径,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-08-08
  • Python 生成VOC格式的标签实例

    Python 生成VOC格式的标签实例

    这篇文章主要介绍了Python 生成VOC格式的标签实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-03-03
  • HTTPX入门使用教程

    HTTPX入门使用教程

    HTTPX是一款Python栈HTTP客户端库,它提供了比标准库更高级别、更先进的功能,如连接重用、连接池、超时控制、自动繁衍请求,下面通过本文介绍HTTPX入门知识和基本用法,感兴趣的朋友一起看看吧
    2023-12-12
  • python自动化神器pyautogui使用步骤

    python自动化神器pyautogui使用步骤

    这篇文章主要给大家介绍了关于python自动化神器pyautogui使用步骤的相关资料,在Python当中不仅代码简单,而且有着非常丰富的模块,pyautogui就可以称之为自动化操作的"神器",需要的朋友可以参考下
    2023-07-07
  • Pythonic版二分查找实现过程原理解析

    Pythonic版二分查找实现过程原理解析

    这篇文章主要介绍了Pythonic版二分查找实现过程原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-08-08

最新评论

?


http://www.vxiaotou.com