OpenRefine - 根据另一列中的值替换一列中的字符串值

OpenRefine - replacing string value in one column based no the value in another

我有一个很大的 CSV,其中包含有关如何划分集合的信息。例如,一列包含有关顶级类别的信息,另一列包含有关子类别的信息,并且根据子分类可能会有相当多的信息。

在 OpenRefine 中,这些看起来像(例如):

||field 1        || field 2                           || field 3
||I am a section || I am a section with a subsection  ||  I am a section with a subsection with another subsection

为了能够正确地将它们分成顶层和子部分,我想也许我可以使用 replace 函数从 [=14] 的值中删除 field1 的值=] 及以后。这会让我

||field 1        || field 2           || field 3
||I am a section || with a subsection ||  with another subsection

我的问题是:

  1. 这是正确的方法还是有更优雅的方法?
  2. 是吗,如何使用 replace 函数在整个 CSV 中动态执行此操作?

您可以使用以下 GREL 表达式引用另一列:cells['field 2'].value

例如,在您的情况下,您将用空值替换 field 2 中的值(使用 ''),表达式为:value.replace(cells['field 2'].value,'')