3

2 つの列 (それぞれ名前と数字の行) を持つ CSV ファイルを読み込み、2 つの列の数字のみを 2 つの異なる配列に保存したいと考えています。次に、2 つの配列を使用して各列の数値を保存し、これら 2 つの列のデータを使用して計算を行います。

これは私がまだ持っているものです:

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

の列を 2 つの配列に分割するにはどうすればよいcsv_dataですか?

4

1 に答える 1

3

これにより、ファイル全体を重複して csv_data に読み込むストレージを無駄にすることなく、2 つの列配列を作成することができます。

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
于 2012-04-06T21:00:26.817 に答える