选择多个重复记录OpenRefine

时间:2016-10-18 16:48:29

标签: openrefine

位置包含以下项目:

enter image description here

问题是有些行是半重复的" (除了属性 attb 以外,所有元素都是等于整数)。我想删除所有重复的行并附加所有属性 attb ,用逗号分隔。

例如,如果我有这两行:

Attb | City | County | Latitude | Longitude
--------------------------------------------
 1   |  c1  |  co1   |    l1    |  long1
--------------------------------------------    
 2   |   c1 |  co1   |    l1    |  long1

使用OpenRefine,我想删除第二行,并将第二行的 attb 值附加到第一行attb'值。所以预期的输出应该是:

Attb | City | County | Latitude | Longitude
--------------------------------------------
 1,2 |  c1  |  co1   |   l1     |   long1

如果我足够清楚,请告诉我。

提前致谢。

1 个答案:

答案 0 :(得分:1)

为每一行创建一个键,它组合了将要复制的值。您可以使用以下方式执行此操作:

编辑列 - >根据此列添加列

然后使用类似的GREL表达式:

cells["City"].value + cells["County"].value + cells["Latitude"].value + cells ["Longitude"].value

调用“密钥”列或类似名称。

请注意,该键不包含Attb列的内容。 将新的“Key”列移动到项目的第一列 按“键”列排序并永久应用“排序” 在Key列上使用'Blank down'

确保OR处于“录制”模式(朝向网格的右上角)。您应该看到那些重复的行现在是同一OR记录的一部分。

在Attb列上使用编辑单元格 - >加入多值单元格并用逗号连接它们

删除“Key”列并将OpenRefine切换回“Row”模式。现在在Attb列上使用'Facet by blank',找到那些带有空白Attb的行并删除这些行。

您现在应该拥有所需的合并行。

相关问题