OpenRefine:如何为列中的每个输入创建一个唯一的行(用逗号稀释)

OpenRefine: How to create a unique row for each input in a column ( dilneated by comma)

在进入数据库之前,我有一堆产品数据需要清理,如下所示:

COL A COL B COL C... "N"
Option 1 A, B, C, D Option 1 attribute
Option 2 C, D, F Option 2 attribute
Option 3 D, J, Z Option 3 attribute

我希望它看起来像这样,每个独特的产品选项都有一个独特的行:

COL A COL B COL C... "N"
Option 1 A Option 1 attribute
Option 1 B Option 1 attribute
Option 1 C Option 1 attribute
Option 1 D Option 1 attribute
Option 2 C Option 2 attribute
Option 2 D Option 2 attribute
Option 2 F Option 2 attribute
Option 3 D Option 3 attribute
Option 3 J Option 3 attribute
Option 3 Z Option 3 attribute

我知道如何使用 python 脚本来做到这一点,但我已经在使用 OpenRefine,我希望不要在我的数据流中涉及一个全新的过程。

在 OpenRefine 中有没有简单的方法来做到这一点?我很难找到类似这样的方法或扩展。

谢谢!

编辑

@magdmartin 如何使用第一个单元格中的划定值填充空白单元格?

COL A COL B COL C... "N"
Option 1 A,B,C,D Option 1 attribute
Option 1 Option 1 attribute
Option 1 Option 1 attribute
Option 1 Option 1 attribute
Option 2 C,D,F Option 2 attribute
Option 2 Option 2 attribute
Option 2 Option 2 attribute
Option 3 D,J,Z Option 3 attribute
Option 3 Option 3 attribute
Option 3 Option 3 attribute

变成了

COL A COL B COL C... "N"
Option 1 A Option 1 attribute
Option 1 B Option 1 attribute
Option 1 C Option 1 attribute
Option 1 D Option 1 attribute
Option 2 C Option 2 attribute
Option 2 D Option 2 attribute
Option 2 F Option 2 attribute
Option 3 D Option 3 attribute
Option 3 J Option 3 attribute
Option 3 Z Option 3 attribute

谢谢!

我在这里录制了一段视频,介绍了下面描述的每个选项:https://youtu.be/3194zXoJtqI

对于这个项目,您将需要使用两个 OpenRefine 函数

如果您有很多列,您可以使用 All > Transform 通过以下表达式 row.record.cells[columnName].value[0] 来加快处理速度。这里的技巧是填写 Col A last 这样我们可以在填写其他列时保留 record mode (见下面的截图)