こんばんは、Webプログラマの篠田です。
寒い冬も桜も散り、暑い季節が近づいてきていますね。
リクルートスーツに着られている感がある社会人も多く見かけますが、10年ほど前の自分を思い出して、懐かしく感じています。
今回は、プログラマもプログラマでない方も高確率で困る、CSVの扱いに関してご紹介していきます。
この記事の目次
困るシチュエーション
まずは、どういったときに、長い表題のようなことが起こるかをご紹介します。
(1)phpMyAdminなどからレコードをダウンロードしたい。
(2)ダウンロードする文字コードは、扱いやすいように「UTF-8」にした。
(3)取得したファイルは、ノンプログラマが「Excel」で表示したいと考えている。
(4)とりあえず、プログラマの環境はMac + Mac版Microsoft Excel 2011が入っている。
(5)なぜか、エディタは「CotEditor」がインストール済み。
この前提を元に、対応方法を1つ1つみていきます。
CSVファイルを用意する
イメージとして下記のようなカラムを持つ、レコードをCSVダウンロードすることを想定します。
(1)日本語を含む文字列
(2)郵便番号 or 電話番号
上記の条件を含む、CSVをお手元にあるだろうphpMyAdmin等でダウンロードしておきます。
素直に開ける
UTF-8でダウンロードしたCSVファイルを、何も考えずにダブルクリックしましょう。
はい、盛大に文字化けしました。
ここから、順を追ってみていきましょう。
CotEditorで文字コードを変換
下記の手順で、文字コードを変換します。
(1)ダウンロードしたファイルを、ツール「CotEditor」で開けます。
(2)「エンコーディング」を「日本語(Mac OS)」に変更する。
(3)「再解釈」を求められるので、素直に「再解釈」ボタンをクリック。
(4)「保存」するときは、上書き保存でなく「別名保存」で、拡張子を「csv」から「txt」に変更する。
Excelでの開き方
ここまでで、ダウンロードしたファイルはCSVから、テキストファイルに変わりました。
Excelで開く時に注意が必要なのは、直接ファイルをExcelで開けようとしないことです。
下記の手順でファイルを開きます。
(1)Excelを立ち上げる。
(2)メニューの「ファイル」→「開く」→「先程保存したテキストファイル」を選択する。
(3)「テキスト ファイルウィザード」という画面が表示されればOKです。
「テキスト ファイルウィザード」をしっかりと設定する
次に、「テキスト ファイルウィザード」の設定方法をご紹介します。
ここで、焦るとせっかくのデータが文字化けしたり、意図したセルに保存されていなかったりしますので、焦らずゆっくり、しっかり操作していきましょう。
(1)「元のファイル」のプルダウンから「日本語(Mac OS)」を選択する。
(2)「次へ」ボタンをクリックする。
(3)「区切り文字」の「タブ」をクリックして、チェックを外す。
(4)「セミコロン」または、「コンマ」のどちらかを選択する。
→ phpMyAdminの保存形式によっては「;」で保存されている場合がある。
(5)「次へ」ボタンをクリックする。
(6)「データのプレビュー」を見ながら「文字列」のセルを選択する
(7)「文字列」のセルを選択した状態で、「列のデータ形式」の「文字列」をチェックする
→ ここを「標準」のままにすると、「電話番号」「郵便番号」で「0」が消えてしまうので、
「電話番号」「郵便番号」の場合は、必ず「文字列」にすること!!
(8)設定が終れば「完了」をクリックする。
綺麗にできました
上記の手順で、Excelで読み込ませると、綺麗に表示されます。
この状態で、再度ファイル名をExcel形式にして保存すれば、安心してノンプログラマの方にデータを渡すことができますね。
まとめ
ポイントは下記の点です。
(1)ダウンロードしたファイルを「日本語(Mac OS)」で保存しなおす。
→ Mac版Excelが認識できる日本語の中で文字化けしにくい形式のため。
(2)ファイルの保存形式は「txt」形式にする。
(3)ファイルを開くときは、一度Excelを立ち上げてから開く。
(4)「テキスト ファイルウィザード」はゆっくり丁寧に設定を最後までする。
これで、CSVをExcelで開く作業が楽になりますので、是非試してみてください。