在 OpenRefine 中合并列 x 到 n
Combine column x to n in OpenRefine
我有一个列数未知的 table,我需要在某一点之后合并所有列。考虑以下因素:
| A | B | C | D | E |
|----|----|---|---|---|
| 24 | 25 | 7 | | |
| 12 | 3 | 4 | | |
| 5 | 5 | 5 | 5 | |
A-C 列已知,其中的信息正确。但是 D 到 N 列(未知数量的以 D 开头的列)需要合并,因为它们都是同一个字符串的一部分。如何在 OpenRefine 中组合未知数量的列?
由于某些列可能有空单元格(字符串可能有不同的长度),我也需要忽略空单元格。
有一个适合您的两步法。
从您要合并的第一列(在本例中为 Col D)选择转置->将跨列的单元格转置为行
系统会要求您设置一些选项。您需要选择 'From Column' D 和 'To Column' N。然后选择转置为一列,为该列指定一个名称,确保选中 'Ignore Blank Cells' 选项(应该是默认选中。然后单击转置。
您将获得以前在列 D-N 中出现在行中的值。例如
| A | B | C | D | E | F |
|----|----|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 |
转换为:
| A | B | C | new |
|----|----|---|-----|
| 1 | 2 | 3 | 4 |
| | | | 5 |
| | | | 6 |
然后您可以使用 'new' 列顶部的下拉菜单来选择
编辑单元格->加入多值单元格
系统会询问您要使用什么字符来分隔合并单元格中的字符。可能在您的用例中,您可以删除连接字符并组合没有任何连接字符的单元格。这会给你:
| A | B | C | new |
|----|----|---|-----|
| 1 | 2 | 3 | 456 |
我有一个列数未知的 table,我需要在某一点之后合并所有列。考虑以下因素:
| A | B | C | D | E |
|----|----|---|---|---|
| 24 | 25 | 7 | | |
| 12 | 3 | 4 | | |
| 5 | 5 | 5 | 5 | |
A-C 列已知,其中的信息正确。但是 D 到 N 列(未知数量的以 D 开头的列)需要合并,因为它们都是同一个字符串的一部分。如何在 OpenRefine 中组合未知数量的列?
由于某些列可能有空单元格(字符串可能有不同的长度),我也需要忽略空单元格。
有一个适合您的两步法。
从您要合并的第一列(在本例中为 Col D)选择转置->将跨列的单元格转置为行
系统会要求您设置一些选项。您需要选择 'From Column' D 和 'To Column' N。然后选择转置为一列,为该列指定一个名称,确保选中 'Ignore Blank Cells' 选项(应该是默认选中。然后单击转置。
您将获得以前在列 D-N 中出现在行中的值。例如
| A | B | C | D | E | F |
|----|----|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 |
转换为:
| A | B | C | new |
|----|----|---|-----|
| 1 | 2 | 3 | 4 |
| | | | 5 |
| | | | 6 |
然后您可以使用 'new' 列顶部的下拉菜单来选择 编辑单元格->加入多值单元格
系统会询问您要使用什么字符来分隔合并单元格中的字符。可能在您的用例中,您可以删除连接字符并组合没有任何连接字符的单元格。这会给你:
| A | B | C | new |
|----|----|---|-----|
| 1 | 2 | 3 | 456 |