0

对此有点脑残。我需要转换的数据是 csv 文件的列标题,我的方法如下:

['1,2,3', 'a,b,c'] 

其中 1、2 和 3 是第一、第二和第三标题行,所以它们需要从水平到垂直。

我正在寻找的输出是:

[['1', 'a'], ['2', 'b'], ['3', 'c']]

每个内部数组现在都是一行标题,我可以循环并添加到我的 CSV 中。

我事先不知道会有多少标题行,但它们总是用逗号分隔,就像在第一个代码片段中一样。

任何建议,将不胜感激。

4

1 回答 1

4

你需要Array#transpose. 好吧,它转置了一个矩阵。

a = ['1,2,3', 'a,b,c'] 

a.map{|s| s.split(',')}.transpose # => [["1", "a"], ["2", "b"], ["3", "c"]]
于 2013-06-28T09:18:50.317 回答