macOS – Terminalを使いCSVファイルの文字化けを直す
エクセルファイルの初期設定では文字コードがShift-JISコードに設定されていることが多く、macでcsvファイルを開くと文字化けがされていることが多い。
なので、この文字化けを直すにはShift-JISからUTF-8に変更する必要があるのでTerminalを使って文字コードを変更する方法を解説します。
手順
ここでは郵便番号データを例として解説をしていきます。都道府県一覧から適当なzipファイルをダウンロードして試してみてください。
Terminalの起動
前提として文字コードを変更したいCSVファイルはダウンロードに配置しています。
ターミナルを起動しダウンロードディレクトリに移動します。
% cd Downloads
ダウンロードディレクトリに移動できたらzipファイルを解凍します。zipファイルを解凍するにはunzipコマンドを使用します。
% unzip 01hokkai.zip
下記のような表示が出れば解凍ができています。
Archive: 01hokkai.zip
inflating: 01HOKKAI.CSV
次にcsvファイルの文字コードを確認します。文字コードを確認したい場合下記のコマンドで確認できます。
% file --mime 01HOKKAI.CSV
または
% file -I 01HOKKAI.CSV
fileコマンドの--mime
と-I
のオプションはMIMEタイプの文字列を出力してくれます。上記のコマンドを実行結果は下記のように表示されると思います。
01HOKKAI.CSV: text/csv; charset=unknown-8bit
charset=unknown-8bit
はファイルの文字コードの種類を示し、Shift-JISコードであると示しています。この文字コードを変換するにはiconvコマンドを使用します。
% iconv -f shift_jis 01HOKKAI.CSV > hokkai.CSV
01HOKKAI.CSV
ファイルのデータを複製し新たにhokkai.CSV
というファイル名で作成しています。SHIFT-JISからUTF-8に変換する方法は以上です。