RubyでCSVを扱う場合は標準ライブラリのCSVか、FasterCSVを使うことが多いと思います。どちらのライブラリも以下のような感じでCSVの1行を配列にしてブロックに渡してくれます。 CSV.open("test.csv", 'r') do |row| p row # => ["Yamada", "30", "180"] p row[0] # => "Yamada" p row[1] # => "30" p row[2] # => "180" end このときCSVのカラム数が少なければrow[0], row[1]のようにして配列のインデックスアクセスで十分なのですが、カラム数が多くなると、あのデータは何カラム目にあるだっけ? となることがよくあります。 そこでハッシュですよ。 例えば、CSVデータが名前、年齢、身長の順に並んでいるなら、以下のようにカラム名をキーとしたハッシュにする