概要
※おそらく似たような投稿があったと思うが、自分用のメモとして。
たまにRubyでCSVなどのデータを処理するときに必要になるので。
ヘッダーと読み込んだ行データとをHashにする方法。
方法
header = ["id", "name", "desc"]
row = ["1", "Qiita", ["Qiitaは、...","私は、"]]
data = Hash[*header.zip(row).flatten(1)]
p data #=> {"id"=>"1", "name"=>"Qiita", "desc"=>["Qiitaは、...", "私は、"]}
ちなみに
上記のflattenに引数として1を与えるのがキモ。そうすると、ヘッダーじゃない方の配列をネストすることができる。