【问题标题】:Select multiple repeated records OpenRefine选择多条重复记录 OpenRefine
【发布时间】:2016-11-02 00:37:46
【问题描述】:

表格Locations有以下项目:

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

例如,如果我有这两行:

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

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

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

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

提前致谢。

【问题讨论】:

    标签: openrefine


    【解决方案1】:

    为每一行创建一个键,该键组合了将要复制的值。你可以这样做:

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

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

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

    将列称为“键”或类似名称。

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

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

    在 Attb 列上使用 Edit Cells->Join Multi-valued cells 并用逗号连接它们

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

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

    【讨论】:

    • 绝对清楚!它按我的意愿工作。感谢@Owen 与我分享这个解决方案。
    猜你喜欢
    • 2013-11-04
    • 2011-08-05
    • 2018-03-01
    • 1970-01-01
    • 2022-01-13
    • 2013-12-29
    • 1970-01-01
    • 1970-01-01
    • 2021-12-23
    相关资源
    最近更新 更多