【问题标题】:Transpose rows into columns with OpenRefine (variable number of rows)使用 OpenRefine(可变行数)将行转置为列
【发布时间】:2020-04-21 01:44:00
【问题描述】:

谁能帮我将可变数量的行转换成列?

我有这样的数据:

ID, NAMES
1, Jon
1, Jonny
1, Jonathan
2, James
3, Bill
3, William
4, Robert
4, Bob
4, Bobby
4, Rob

想要这个:

ID, Name1, Name2, Name3, Name4
1, Jon, Jonny, Jonathan
2, James
3, Bill, William
4, Robert, Bob, Bobby, Rob

换句话说,对于每个 ID,我想查找具有该 ID 的所有行并将每个名称放入单独的列(或名称在逗号分隔列表中的单列)

我知道每个 ID 最多有 4 个名字。

我认为使用 OpenRefine 这很容易,但我真的想不通。有人可以帮忙吗?

【问题讨论】:

  • 到目前为止你有什么尝试?

标签: openrefine


【解决方案1】:

你可以解决这个问题的方法是:

  • 根据 ID 字段创建 OpenRefine“记录”
  • 将与一条记录关联的名称合并到一个单元格中
  • 将新的多值名称单元格拆分为多列

详细说明:

  • 在 ID 列中使用“编辑单元格 -> 空白”
  • 确保您处于记录模式(数据网格“显示为:记录”的左上角
  • 在 NAMES 列中使用“编辑单元格 -> 连接多值单元格”指定一个分隔符,您确信不会出现在任何名称中(例如竖线字符 | )
  • 然后在 NAMES 列中使用“编辑列 -> 拆分为多个列”指定相同的分隔符

这应该会给出您在此处寻找的结果

【讨论】:

  • 做到了!非常感谢欧文!
猜你喜欢
  • 1970-01-01
  • 2019-12-05
  • 1970-01-01
  • 2023-03-27
  • 2013-05-05
  • 2016-10-18
  • 2019-02-22
  • 1970-01-01
  • 2013-06-21
相关资源
最近更新 更多