【发布时间】:2012-06-13 22:47:16
【问题描述】:
我有一个 .csv 文件,为简单起见,它包含两个字段:ID 和 cmets。 id 的行是重复的,其中每个评论字段已经满足从它生成的任何表中的 max char 并且需要另一行。我现在需要使用 Ruby 将关联 cmets 合并在一起,从而为每个唯一 ID 创建一行。
为了说明,我正在尝试使用 Ruby 来制作:
ID |评论
1 |片段 1
1 |片段 2
2 |片段 1
3 |片段 1
3 |片段 2
3 |片段 3
进入这个:
ID |评论
1 |片段 1 片段 2
2 |片段 1
3 |片段 1 片段 2 片段 3
我已经接近找到一种使用inject({}) 和hashmap 的方法,但仍在努力正确合并所有数据。与此同时,我的代码似乎变得过于复杂,包含多个哈希和数组,只是为了对选择性行进行合并。
实现这种类型的行合并的最佳/最简单的方法是什么?可以只用数组来完成吗?
不胜感激有关在 Ruby 中通常如何执行此操作的建议。
【问题讨论】:
标签: ruby hashmap inject fastercsv