CSVファイルをハッシュの配列に変換します
概要
たとえば、ホッケーの統計情報を含む CSV ファイルがあります。
09.09.2008,1,HC Vitkovice Steel,BK Mlada Boleslav,1:0 (PP)
09.09.2008,1,HC Lasselsberger Plzen,RI OKNA ZLIN,6:2
09.09.2008,1,HC Litvinov,HC Sparta Praha,3:5
ハッシュの配列に保存したいと思います。ヘッダーはなく、「time」 => 「09.09.2008」などの各値にキーを追加したいと考えています。各行は arr[i] のようにアクセスでき、各値はたとえば arr[i][“time”] のようにアクセスできる必要があります。私は FasterCSV や分割よりも CSV クラスを好みます。同様の問題が解決された方法を示すか、スレッドにリダイレクトしていただけますか?
解決策
CSV.foreach(data_file, headers: true) do |row|
puts row.inspect # hash
end
そこから、ハッシュを自由に操作できます。
(Ruby 2.0 でテストしましたが、これはかなり長い間機能していたと思います。)
ヘッダーがないとのことですが、ファイルを読み取った後、ファイルの内容の先頭にヘッダー行を追加していただけますか。