文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

使用Python从PDF文件中提取数据

2024-12-11 19:49

关注

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

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


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

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


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

b) 导入必要的库

  1. import pandas as pd 
  2. import numpy as np 

c) 导入原始数据,重新定义数据

  1. df=pd.read_csv("table_1_raw.csv", header=None
  2. df.values.shape 
  3. df2=pd.DataFrame(df.values.reshape(25,10)) 
  4. column_names=df2[0:1].values[0] 
  5. df3=df2[1:] 
  6. df3.columns = df2[0:1].values[0] 
  7. df3.head() 

 

d) 使用字符串处理工具进行数据纠缠

我们从上面的表格中注意到,x5、x6和x7列是用百分比表示的,所以我们需要去掉percent(%)符号:

  1. df4['x5']=list(map(lambda x: x[:-1], df4['x5'].values)) 
  2. df4['x6']=list(map(lambda x: x[:-1], df4['x6'].values)) 
  3. df4['x7']=list(map(lambda x: x[:-1], df4['x7'].values)) 

e) 将数据转换为数字形式

我们注意到列x5、x6和x7的列值数据类型为string,因此我们需要将它们转换为数值数据,如下所示:

  1. df4['x5']=[float(x) for x in df4['x5'].values] 
  2. df4['x6']=[float(x) for x in df4['x6'].values] 
  3. df4['x7']=[float(x) for x in df4['x7'].values] 

f) 查看转换数据的最终形式

  1. df4.head(n=5

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

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

 

来源:今日头条内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯