Openrefine 将计数器添加到值
Openrefine add Counter to value
我正在使用文本构面来仅获取包含特定值的行。对于生成的行,我想用另一列的值填充一列。我就是这样做的:
cells["Auto_Objektkennung"].value
如何为每个以 0 开头的值添加一个连续的数字?
伪代码:
cells["Auto_Objektkennung"].value + '-' + COUNTER+1
不幸的是,行索引没有帮助,因为我不是从一个开始而是从 8000 左右开始的文本方面
cells["Auto_Objektkennung"].value + '-' + row.record.index
这是一种使用 OpenRefine 和 GREL 实现此目的的手动方法,无需将任务委托给 Clojure 或 Jython。
思路:我们可以先创建基于文本分面或文本过滤器的记录。
然后我们可以使用 row.record.index
来创建预期的“连续数字[s]”。
食谱:
- 在您的文本构面(或过滤器)处于活动状态的情况下,添加一个名为“record_marker”的新列。
- 将新列“record_marker”移到开头。
- 使用表达式
row.record.index - 1
添加新列“counter”。
- 空白新的“计数器”列。
- 您现在可以在表达式中使用“计数器”列。
if(cells["counter"].value >= 0, cells["Auto_Objektkennung"].value + "-" + cells["counter"].value, "")
- 通过删除“record_marker”和“计数器”列进行清理。
我正在使用文本构面来仅获取包含特定值的行。对于生成的行,我想用另一列的值填充一列。我就是这样做的:
cells["Auto_Objektkennung"].value
如何为每个以 0 开头的值添加一个连续的数字?
伪代码:
cells["Auto_Objektkennung"].value + '-' + COUNTER+1
不幸的是,行索引没有帮助,因为我不是从一个开始而是从 8000 左右开始的文本方面
cells["Auto_Objektkennung"].value + '-' + row.record.index
这是一种使用 OpenRefine 和 GREL 实现此目的的手动方法,无需将任务委托给 Clojure 或 Jython。
思路:我们可以先创建基于文本分面或文本过滤器的记录。
然后我们可以使用 row.record.index
来创建预期的“连续数字[s]”。
食谱:
- 在您的文本构面(或过滤器)处于活动状态的情况下,添加一个名为“record_marker”的新列。
- 将新列“record_marker”移到开头。
- 使用表达式
row.record.index - 1
添加新列“counter”。 - 空白新的“计数器”列。
- 您现在可以在表达式中使用“计数器”列。
if(cells["counter"].value >= 0, cells["Auto_Objektkennung"].value + "-" + cells["counter"].value, "")
- 通过删除“record_marker”和“计数器”列进行清理。