R、Python、Open Refine采集pdf数据,清理数据和格式化数据

原文链接:http://tecdat.cn/?p=8076

获取,清理和格式化数据

在本文中,我们将介绍一些技巧和窍门,这些技巧和窍门用于在线查找所需数据,将其存储到计算机上以及如何识别和清除“脏”数据。我们还将回顾一些常见的数据格式,以及如何从一种转换为另一种。

我们今天将使用的数据

 gdp_percap.csv 世界银行关于1990年至2016年国家和国家集团人均国内生产总值(GDP)的数据,以当前国际美元计价,并根据不同地区的购买力进行了校正。

  • ucb_stanford_2014.csv2014年从UC Berkeley和斯坦福大学获得的联邦政府拨款数据可从USASpending.gov下载。
  • wr_50m_sept_6_2018.pdfPDF,其中包含来自国际泳联,游泳和其他水上运动国际联合会的最新世界游泳记录。

搜索在线数据库

可以在线搜索许多重要的公共数据库,有些提供下载查询结果的选项。这些数据库中的大多数都提供一个简单的搜索框,但始终值得寻找高级搜索页面,该页面将提供更多选项来自定义搜索。例如,这里是ClinicalTrials.gov高级搜索页面:

?

当您开始使用新的联机数据库时,请花一些时间来熟悉其搜索的工作方式:阅读帮助或常见问题解答,然后运行测试搜索以查看获得的结果。

还要找出数据库是否允许“通配符”,例如*%可以放在搜索中的通配符,以获得带有单词或数字变化的结果。

从网上抓取数据

有时,您需要根据散布在一系列网页中的信息或在不允许简单下载数据或访问API的数据库中维护的信息来编译自己的数据。这就是Web抓取的地方。

使用RPython之类的编程语言,可以编写脚本来从许多网页提取数据,或者查询Web搜索表单以逐段下载整个数据库。

我们已经通过操作Web搜索表单上的url并批量下载各个链接来执行Web抓取的某些元素。

PDF:数据 

一些组织坚持将数据提供为PDF,而不是文本文件,电子表格或数据库。这使得数据难以提取。尽管您始终应该以更友好的格式(最好是CSV或其他简单的文本文件)来请求数据, 有时可能会发现自己需要从PDF中提取数据。

 可以从数字PDFS中的表中提取数据。

?

启动 时,它会在Web浏览器中打开。但是,您加载到程序中的所有数据都将保留在计算机上-不会在线发布。

?

导入PDF后,突出显示第一张表中显示男子个人记录的部分单击Preview & Export Extracted Data以查看提取的数据:

  

识别脏数据

在理想的世界中,我们找到的每个数据集都会经过精心策划,使我们能够开始分析和可视化,而不必担心其准确性。

但是,实际上,通常最好的可用数据都有一些缺陷,可能需要尽可能地加以纠正。因此,在开始使用新数据集之前,请将其加载到电子表格或数据库中,并查看常见错误。例如,这里是来自BMIS数据库的记录示例,其名称包括非字母字符,这显然是错误的:

?

一些字段提供了一些明显的检查:例如,如果您看到的邮政编码少于5位,则知道它一定是错误的。

日期也可能输入错误,因此值得扫描那些不在数据范围之内的日期。

还要扫描代表连续变量的字段中的数字,以查找任何明显的异常值。

其他常见问题是某些条目前后的空白,可能需要将其删除。

使用Open Refine清理和处理数据

在许多数据新闻项目中,检查和清除“脏”数据以及将数据处理为所需的格式可能是最耗费人力的部分。但是,Open Refine(以前称为Google Refine)可以简化任务-还可以创建可复制的脚本,以对必须以相同方式清理和处理的数据快速重复该过程。

启动Open Refine时,它将在Web浏览器中打开。但是,您加载到程序中的所有数据都将保留在计算机上-不会在线发布。

打开屏幕应如下所示:

?

将数据从宽格式转换为长格式

单击Choose Files按钮并导航到文件gdp_percap.csv。单击Next>>,然后在下一个屏幕上确保Parse cell text into numbers, dates,...已选中

?

Open Refine以绿色显示数字和日期,以黑色显示整个文本。因此,选中此按钮应该使数字变为绿色。Open Refine还应该识别数据在CSV文件中,但是如果不是,则可以使用底部的面板为数据指定正确的文件类型和格式。

屏幕现在应如下所示:

?

如您所见,数据是宽格式的,按区域组织了各地区的石油产量值,每年一次。要将其转换为长格式,请单击这些年的第一列中的向下的小三角形,然后选择Transpose>Transpose cells across columns into rows

如下所示填写对话框,确保正确地将From ColumnTo Column突出显示,并为Key columnValue column指定了适当的名称,并进行了Fill down in other columns选中。

单击Transpose,然后单击50行链接,以查看调整后的数据的前50行:

?

单击右上角的Export按钮,您将看到用于以各种文件类型(包括Comma-separated valueExcel电子表格)导出数据的选项。

清理和处理脏数据

单击左上角的“打开优化” 以返回到打开屏幕。从文件创建一个新项目ucb_stanford_2014.csv

同样,每个字段/列都有一个带有指向下方的三角形的按钮。单击这些按钮,您将获得为列创建“构面”的选项,这提供了一种强大的方式来编辑和清除数据。

AllOpen Refine中的列下拉菜单可用于删除不需要的列并快速记录要保留的列。选择Edit Columns>Re-order / remove columns以弹出此对话框:

?

但是,在这里我们将保留所有数据。

我们可以手动进行编辑,但是要说明Open Refine的编辑功能,请单击Cluster按钮。在这里,您可以尝试使用不同的聚类算法来编辑:

?

如果您有任何疑问,请在下面发表评论。

?

大数据部落 -中国专业的第三方数据服务提供商,提供定制化的一站式数据挖掘和统计分析咨询服务

统计分析和数据挖掘咨询服务:y0.cn/teradat(咨询服务请联系官网客服

?QQ:3025393450

?QQ交流群:186388004 

【服务场景】  

科研项目; 公司项目外包;线上线下一对一培训;数据爬虫采集;学术研究;报告撰写;市场调查。

【大数据部落】提供定制化的一站式数据挖掘和统计分析咨询

欢迎选修我们的R语言数据分析挖掘必知必会课程!

原文地址:https://www.cnblogs.com/tecdat/p/11751604.html

时间: 2024-11-05 19:33:39

R、Python、Open Refine采集pdf数据,清理数据和格式化数据的相关文章

分享《数据科学实战手册(R+Python)》中文PDF+英文PDF+源代码

下载:https://pan.baidu.com/s/1Iw0pHxKqp2mKC9ksR5wfPQ 更多分享资料:https://www.cnblogs.com/javapythonstudy/ <数据科学实战手册(R+Python)>中文PDF+英文PDF+源代码中文PDF,带书签目录,354页:英文PDF,带书签目录,396页:两版对比学习.配套源代码. 中文版如图: 原文地址:https://www.cnblogs.com/javapythonstudy/p/9924670.html

数据科学实战手册(R+Python)书中引用资料网址

本文会持续将<数据科学实战手册(R+Python)>一书中的附带参考资料网址手打出来, 方便访问. 由于书中的参考资料网址太多, 这个文档将可能花费一段时间才能完成. 第一章 P7  Rstdio (http://www.rstdio.com/) 参考Gettinng Started with R文章: http://support.rstdio.com/hc/en-us/articles/201141096-Getting-Started-With-R 访问RStdio的主页: http:/

R语言数据清理:视频游戏数据案例研究

Wesnoth之战是一款开源的回合制策略游戏.游戏世界很丰富,有几个派系,地图和数百个可用单位.在本教程中,您将学习如何将中等大小的数据集(如游戏元数据)转换为有用的格式,以便使用R进行进一步分析. 您将了解整洁数据集遵循的关键原则,为什么跟踪它们有用,以及如何清理您给出的数据.整理也是了解新数据集的好方法. 最后,在本教程中,您将学习如何编写一个函数,使您的分析看起来更清晰,并允许您以非常可重复的方式在分析中执行重复元素.该功能允许您将最新版本的数据动态加载到灵活的数据方案中,这意味着在添加新

使用python中的matplotlib进行绘图分析数据

http://blog.csdn.net/pipisorry/article/details/37742423 matplotlib 是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地进行制图.而且也可以方便地将它作为绘图控件,嵌入GUI应用程序中. 它的文档相当完备,并且 Gallery页面 中有上百幅缩略图,打开之后都有源程序.因此如果你需要绘制某种类型的图,只需要在这个页面中浏览/复制/粘贴一下,基本上都能搞定. 在Linux下比较著名的数据图工具

Python处理CSV,Excel,PDF和图片

使用Python处理CSV格式数据 CSV数据: 逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本).纯文本意味着该文件是一个字符序列,不含必须像二进制数字那样被解读的数据.CSV文件由任意数目的记录组成,记录间以某种换行符分隔:每条记录由字段组成,字段间的分隔符是其它字符或字符串,最常见的是逗号或制表符.通常,所有记录都有完全相同的字段序列. 如一下格式:27,20,14,15,14

深入学习python解析并读取PDF文件内容的方法

这篇文章主要学习了python解析并读取PDF文件内容的方法,包括对学习库的应用,python2.7和python3.6中python解析PDF文件内容库的更新,包括对pdfminer库的详细解释和应用.主要参考了一些已有的博客内容,代码. 主要思路是首先利用一个做项目的形式,描述所做的问题,运行环境,和需要安装的库,然后写代码,此代码是在python2.7中运行,然后写出在python3.6中运行的代码,并详细解释python2.7和python3.6中python库的一些不同之处,最后详细的

python 爬取天猫美的评论数据

笔者最近迷上了数据挖掘和机器学习,要做数据分析首先得有数据才行.对于我等平民来说,最廉价的获取数据的方法,应该是用爬虫在网络上爬取数据了.本文记录一下笔者爬取天猫某商品的全过程,淘宝上面的店铺也是类似的做法,不赘述.主要是分析页面以及用Python实现简单方便的抓取. 笔者使用的工具如下 Python 3--极其方便的编程语言.选择3.x的版本是因为3.x对中文处理更加友好. Pandas--Python的一个附加库,用于数据整理. IE 11--分析页面请求过程(其他类似的流量监控工具亦可).

新浪微博爬取笔记(4):数据清理

数据清理的部分很多,其实爬数据的过程中步骤的间隔也要做数据清理,都是很琐碎繁杂的工作.总结经验的话,就是: 1.一定要用数据库存储数据 (我因为还不太会数据库,为了“节省学习时间”,所有数据项都用txt存储,直到最后出现了多个种类之间查找,文件夹树变得比较复杂,才觉得当初即使使用MySQL也会提高效率) 2.处理异常的语句不嫌多 3.处理数据的脚本最好打包成函数,尽量减少运行前需要改源码的机会,变量从外部传递 4.工作流程要整体写出来画成图方便查找,步骤和文件多了会有点混乱 以处理时间为例: 我

python数据分析入门——数据导入数据预处理基本操作

数据导入到python环境:http://pandas.pydata.org/pandas-docs/stable/io.html(英文版) IO Tools (Text, CSV, HDF5, ...)? The pandas I/O API is a set of top level reader functions accessed like pd.read_csv() that generally return a pandasobject. read_csv read_excel re