动态

openrefine应用案例

使用OpenRefine

人们花费大量时间清理和操作数据。幸运的是,有一个工具可以让所有这一切变得更容易。它被称为OpenRefine,它是免费的!

本教程将引导您完成一些您需要执行的最常见的数据操作任务。当你完成后,你应该知道如何:

  • 清理拼写不一致
  • 删除前导和尾随空格
  • 将单元格拆分为多个列

如果您使用的计算机上已安装了OpenRefine,则可以跳过第一步。

在开始之前,请将此文件下载到您的计算机上。这是一个名为NJShipwrecks.csv的示例数据文件。

1.安装OpenRefine

前往www.openrefine.org/download并下载OpenRefine 2.7,就像下载任何软件一样。它适用于Windows和Mac。

注意:如果您使用的是Mac,当您尝试打开OpenRefine时,会收到一条消息,指出您无法从身份不明的开发人员打开软件,请执行以下操作:转到“ 系统偏好设置”,然后选择“ 安全和隐私”。在“ 常规”选项卡上,单击锁以进行更改,然后单击“ 打开”。您现在应该可以打开该软件。

install-openrefine 1

install-openrefine

 

2.打开OpenRefine

双击OpenRefine图标。它应该在您的Web浏览器中打开。有时,无论出于何种原因,双击时OpenRefine都不会启动。如果您遇到这种情况,请在浏览器的地址栏中输入localhost:3333并按回车键。

open-openrefine 2

open-openrefine

 

3.打开数据文件

单击Create Project,然后选择Files。导航到NJShipwrecks.csv文件,然后单击“ 下一步”

open-your-data-file 3

open-your-data-file

 

4.这到底是什么意思?

这只是您在OpenRefine中使用它时数据显示方式的预览。你不应该做任何改变; 只需单击“ 创建项目”

what-the-heck-is-this- 4

what-the-heck-is-this-

 

5.这到底是什么(第2部分)?

这是您用于处理数据的主界面。它有点像Excel,但请注意它一次只显示10条记录。那是因为你不应该按记录处理你的数据记录; 你会找到将它分组的方法,然后再使用它。我们接下来会尝试。

what-the-heck-is-this-part-2- 5

what-the-heck-is-this-part-2-

 

6.创建一个分面

在OpenRefine中,facet是一种隔离某些共享功能的记录的方法。当你自己尝试时,更容易看出我的意思。单击VESSEL TYPE列标题旁边的向下箭头。然后选择Facet,然后选择Text Facet

create-a-facet 6

create-a-facet

 

7.理解分面

查看OpenRefine窗口左侧显示的VESSEL TYPE列表。你能告诉那里发生了什么吗?OpenRefine的facet函数将每个出现在VESSEL TYPE列中的术语组合在一起,以及它出现的次数。

您可以按名称或按计数按字母顺序对术语列表进行排序,具体取决于这些术语在列表中出现的次数。如果单击其中一个术语,则仅选择包含该术语的那些行。这允许您一次处理一个数据块。动态 7

understanding-facets 8

understanding-facets

 

8.清理一些数据

仔细查看该术语列表。你会看到它包括两个可能意味着相同的术语:Bark steamerBark Steamer。即使人类可以说他们的意思是指同一件事,但计算机并不知道这一点。因此,清理这些数据以创建准确的可视化和分析非常重要。

将鼠标悬停在构面列表中的Bark Steamer术语上,以便您可以看到“ 编辑”选项。按编辑,然后在出现的框中,将Bark Steamer更改为Bark steamer并按Apply。现在这两个术语合并为一个。

clean-up-some-data-1 9

clean-up-some-data-1

 

9.清理一些数据的另一种方法

再看一下Facet框。您将看到一个标记为Cluster的按钮点击它。

生成的框显示OpenRefine认为应该合并在一起的术语。选中您认为应合并的术语框,然后单击Merge Selected and Re-Cluster

现在,在“ Method”下拉菜单中尝试一些其他项目。当你尝试不同的方法时会发生什么?每个都使用不同的算法来尝试匹配术语。

完成实验后,单击“ 关闭”。您会注意到您的分面列表中的条目较少。

another-way-to-clean-up-some-data 10

another-way-to-clean-up-some-data

 

10.更改整列的大小写

船体类型数据的许多问题是变型案例的结果(例如,Pilot schooner与Pilot Schooner)。消除这些问题的一种方法是使所有术语都小写。我们现在就这样做。

单击VESSEL TYPE旁边的向下箭头。从下拉菜单中,单击“ 编辑单元格”,然后单击“ 常用变换”。最后,选择To lowercase。瞧!所有船只类型现在都是小写的。

change-the-case-of-an-entire-column 11

change-the-case-of-an-entire-column

动态 12

11.摆脱额外的空白

数据的一个常见问题是值之前和之后的额外空格。使用OpenRefine很容易摆脱它们。在Year Built列上,单击向下箭头,然后单击Edit cells,然后单击Common transforms。最后,单击修剪前导和尾随空格。好多了!

get-rid-of-extra-whitespace 13

get-rid-of-extra-whitespace

 

12.拆分多值列

我们的几个列包含位置,格式为City,State。但是,让我们说我们希望各州出现在他们自己的专栏中。使用OpenRefine很容易。

滚动到“ 出发点”列。单击向下箭头,然后单击编辑列,最后单击拆分多值单元格。弹出窗口询问当前分隔值的分隔符。输入逗号和空格,因为它们是位于城市和州之间的两个(分隔)字符。然后单击确定

你现在有两列!您可以通过点击向下箭头将其重命名,然后编辑栏,然后重命名

split-multi-valued-columns 14

split-multi-valued-columns

 

13.撤消操作

如果你在OpenRefine中犯了错误,不用担心!撤消很容易。只需单击屏幕左侧的“ 撤消/重做”链接即可。然后单击列表中的倒数第二步。你的最后一次行动将被撤消。如果您改变主意重做它,只需单击最后一步即可。

动态 15
undo-an-action 16

undo-an-action

14.为选定数据添加字符

假设我们想要将前缀SS添加到具有船型帆船的任何船的名称。我们首先使用我们的容器类型facet来选择在VESSEL TYPE列中使用术语schooner的所有行。

选择所有schooners后,前往SHIP’S NAME列。单击向下箭头,然后选择编辑单元格,然后选择转换…

随后的弹出框要求您使用称为Google精炼表达式语言(GREL)的语言来转换数据。你不必真正了解GREL; 你只需要能够查找你想要写的表达式的模式。

如果要在OpenRefine中为某些数据添加前缀,则模式如下所示:

“前缀” +值

所以在空白文本框中输入

“SS”+值

您将在右下方的列中看到数据的外观预览。如果您满意,请按“ 确定”

现在每个大篷车的标题都以“SS”开头!

add-characters-to-selected-data 17

add-characters-to-selected-data

 

15.导出数据

一旦清理了数据,您就会想要将其从OpenRefine中删除。为此,请单击右上角的“ 导出”按钮。然后单击逗号分隔值。您清理后的电子表格应该开始下载。您可以在项目的任何阶段根据需要多次下载数据。

要关闭OpenRefine,只需关闭浏览器中的窗口或选项卡即可。

动态 18
export-your-data 19

export-your-data

数据清洗,这只是一个开始!

这些是您希望在OpenRefine中执行的一些最常见的任务,但OpenRefine也可以处理更复杂的任务。要了解其中一些任务,请参阅OpenRefine Resources页面上的资源。

 

改写自Introduction to Digital Humanities

Write a Comment