詳しい事情はWin/Mac どちらの Excel でも正しく開ける Unicode な csv の出力方法を参照して欲しいのだけど、MacのExcelでUnicodeなcsvを適切に開くにはUTF-16LEなtsvにしなければなりません。
どうしてもUTF-8なcsvを吐き出すサービスがあり、毎回変換するのが面倒なのでAutomatorで自動化しました。
1. nkfをインストール
文字コードの変換に nkf を使うのでインストールします。
brew install nkf
2. Automatorを起動してサービスを作る
3. UtilitiesのRun Shell Scriptをドラッグドロップ
4. Pass input: as argumentsを選択してコードを書く
for file
do
ruby -Ku -e "require 'csv';CSV.foreach('$file', 'r') { |r| puts r.join(\"\t\") }" > ${file}-tmp
/usr/local/bin/nkf -w16 ${file}-tmp > $file
rm ${file}-tmp
done
画面上のService receives selectedをdocumentsに変更する。
あと終わったことを知らせるために何か選ぶ。ここでは'Display Notification'を使ってる。
画像の中でnkfの位置が/opt/boxenの中になっているのは、僕のMacはBoxenを使ってセットしているため。より正確には下記を実行するとクリップボードに入るものをペーストするといいです。
which nkf | pbcopy
5. 保存する
⌘+Sを押して適当な名前をつける。ここではutf16て名前にした。
6. 適当なファイルを選択して右クリック
出てきたutf16をクリックしたら終わり。あとはExcelで開くだけ。