我想加载一个包含两列(每列都有一个名称和一行数字)的 CSV 文件,并仅将两列的数字保存在两个不同的数组中。 然后我想对这两列中的数据进行一些计算,使用两个数组来保存每一列的数字。
这是我仍然拥有的:
require 'csv'
filename = 'file.csv'
csv_data = CSV.read(filename, :col_sep => ";")
csv_data.shift
csv_data.each_with_index { |column, index_c|
average = 0
column.each_with_index{ |element, index_e|
csv_data[index_c][index_e] = element.to_i
}
}
csv_data = csv_data.transpose
如何将 csv_data
的列拆分为两个数组?
最佳答案
这应该可以帮助您创建两列数组,而不会浪费存储空间,将整个文件冗余地读入 csv_data。
require 'csv'
filename = 'file.csv'
arr1 = []
arr2 = []
CSV.foreach(filename, :col_sep => ";", :return_headers => false) do |row|
arr1 << row[0].to_i
arr2 << row[1].to_i
end
关于ruby - 如何在 Ruby 中加载包含两列的 CSV 并将其保存在 2 个数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10048149/