在这个问题上有一点大脑失败。我需要转换的数据是csv文件的列标题,我的方法是:
['1,2,3', 'a,b,c']
其中1,2和3是第一,第二和第三个标题行,因此它们需要从水平变为垂直。
我正在寻找的输出是:
[['1', 'a'], ['2', 'b'], ['3', 'c']]
每个内部数组现在都是一行标题,我可以遍历并添加到我的CSV中。
我事先不知道会有多少标题行,但它们将始终以逗号分隔,如第一个代码段中所示。
任何建议都将不胜感激。
答案 0 :(得分:4)
您需要Array#transpose
。它,转换矩阵。
a = ['1,2,3', 'a,b,c']
a.map{|s| s.split(',')}.transpose # => [["1", "a"], ["2", "b"], ["3", "c"]]