【发布时间】:2015-06-20 20:11:25
【问题描述】:
我不确定这个问题的合适标题是什么,所以如果有人也可以帮助我解决这个问题,那就太好了。
- 我有一个 CSV 文件,看起来像
ID | Num
a | 1
a | 2
a | 3
b | 4
b | 5
c | 6
c | 7
我需要的结果是:
ID | Num
a | 1,2,3,4
b | 4,5
c | 6,7
目前,我的解决方案是:
ary = CSV.open('some_file')
final = Array.new
id = ary[1][0] # ary[0] is "id"
numJoin = ary[1][1]
(1..ary.length).each do |i|
if id == ary[i+1][0]
numJoin = numJoin + "," + ary[i+1][1]
else
final << [id,numJoin]
id = ary[i+1][0]
numJoin = ary[i+1]]1]
end
end
它有效,但我想有机会学习其他方法来解决这个问题,因为我认为应该有更简单的方法来做到这一点..
提前致谢。
【问题讨论】:
-
解释逻辑。不清楚。
-
您的结果包含两次
4,这是错字吗?