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

前言

创新互联专注为客户提供全方位的互联网综合服务,包含不限于成都网站设计、网站建设、赞皇网络推广、成都小程序开发、赞皇网络营销、赞皇企业策划、赞皇品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联为所有大学生创业者提供赞皇建站搭建服务,24小时服务热线:13518219792,官方网址:www.cdcxhl.com

数据是数据科学中任何分析的关键,大多数分析中最常用的数据集类型是存储在逗号分隔值(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) 

当前名称:使用Python从PDF文件中提取数据
本文网址:http://www.mswzjz.cn/qtweb/news13/102913.html

攀枝花网站建设、攀枝花网站运维推广公司-贝锐智能,是专注品牌与效果的网络营销公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 贝锐智能