解析csv列以使用ruby分隔数组

时间:2013-07-25 20:38:57

标签: ruby arrays parsing csv

我正在尝试将16列的csv文件解析为16个独立的数组。我需要每个单元格成为数组中的另一个对象。因此第1列中的值变为arr1,第2列变为arr2等。这是我到目前为止的代码:

file = "FS_Email_Test.csv"

arr1 = []
arr2 = []
arr3 = []
list =CSV.foreach(file, :col_sep => ";", :return_headers => false) do |row|
        arr1 << row[0].to_i
        arr2 << row[1].to_i
        arr3 << row[2].to_s
      end
puts arr1

此代码正确地将column1解析为arr1,但它为arr2和arr3返回0值。我需要它为每一列工作。创意/想法?谢谢你的帮助。

1 个答案:

答案 0 :(得分:2)

问题解决了。数组末尾的.to_i和.to_s存在问题。我拿走了那块,代码工作得很好。谢谢你的帮助。

代码:

file = "FS_Email_Test.csv"

arr1 = []
arr2 = []
arr3 = []
list =CSV.foreach(file, :col_sep => ";", :return_headers => false) do |row|
        arr1 << row[0]
        arr2 << row[1]
        arr3 << row[2]
      end
puts arr1