2

我正在尝试将具有 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 值。我需要它为每一列工作。想法/想法?谢谢您的帮助。

4

1 回答 1

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
于 2013-07-26T05:14:43.553 回答