あけましておめでとうございます。
csv ファイルでは、しばしば 1 行目をカラム説明行として使う場合があります。
FasterCSV では、これを考慮して出力することができるんですね。
require 'rubygems' require 'fastercsv' data = [ { 'ID' => 1, 'name' => 'taro', 'sex' => 'male', 'age' => 20 }, { 'ID' => 2, 'name' => 'hanako', 'sex' => 'female', 'age' => 40 } ] FasterCSV.open('result.csv', 'w', :headers => %w(ID name sex age), :write_headers => true, :force_quotes => true) do |csv| data.each { |v| csv << v } end
結果
"ID","name","sex","age" "1","taro","male","20" "2","hanako","female","40"
:headers オプションで、カラム名を列挙した配列を指定、あとはカラム名がキーのハッシュを << メソッドに渡す。
:force_quotes => true にしている理由は、excel でうまく開けないからというだけで、深い理由はありません。