CSV,将多行转换为按另一列值分组的逗号分隔列表

我有一个两列的CSV文件。 列1包含组ID,列2包含项目ID。

这里有一些示例数据(从Excel中复制出来)

- 5 154 - 5 220 - 5 332 - 5 93 - 5 142 - 5 471 - 5 164 - 5 362 - 5 447 - 5 1697 - 5 170 - 6 173 - 6 246 - 6 890 - 6 321 - 6 421 - 6 1106 - 6 5 - 6 253 - 6 230 - 6 551 - 8 2155 - 8 2212 - 8 2205 - 8 2211 - 8 2165 - 8 2202 - 8 1734 - 8 2166 - 8 2129 

我需要重新格式化,以便每个组标识只有一行,列2包含逗号分隔的项目标识列表。

所以它应该看起来像这样

 -5 154,220,332,93,142,471,164362,447,1697,170 -6 173,246,890,321,421,1106,5,253,230,551 -8 2155,2212,2205,2211,2165,2202,1734,2166,2129 

我很高兴将CSV导入Excel / Numbers以重新格式化。 甚至在一个临时MySQL数据库中,如果一个SELECT查询可以实现这一点。

感谢您的帮助!

我觉得这样的东西最好用RR来解决。
但是,你在Excel中:

假设

  • 列A中的组键
  • B列中的项目键
  • D列中的唯一组键(我想你可以手动完成)

进入E2:

 =INDEX($B:$B,SMALL(IF($A$2:$A$50=$D2,ROW($A$2:$A$50),""),COLUMN()-COLUMN($D2))) 

然后按CTRL + SHIFT + ENTER将其作为数组公式input。 现在您可以将单元格E2复制到F2:P2和E3:P4。

结果:

在这里输入图像说明