2

私はCSVファイルから始めました。これをCSV::Table、104列に読み込み、3つにフィルターしたいと思いました。

filtered_data = csv.map { |row| row.fields(:x,:y:,:z) }

x次に、エポック時間から通常のGMTに変換したいと思います。私はこれを使用して行いました:

filtered_data.each do |thing|
  thing[0] = Time.at(thing[0]).to_datetime
end

したがって、次のようになります。

[[converted_x, y,z],[converted_x, y, z]] 

map関数を使用してこれを行う別の方法はありますか、それともこれが推奨される解決策ですか?


ジェレミーの答えを使用して、私は今持っています:

filtered_data.map { |x,y,z| [Time.at(x).to_datetime,y,z] } 

そして、rejectを使用してさらにフィルタリングします。

filtered_data.reject { |x,y,z| [x,y, z == '\\ '] }
4

1 に答える 1

2
filtered_data.map do |x, y, z|
  [Time.at(x).to_datetime, y, z]
end
于 2012-09-28T14:40:47.667 に答える