Excel。UTF-8で保存されたCSVファイルは文字化けするので、どうしたらいいの?
<インポート:Power Query>
別のアプリケーションから抽出したデータをExcelでつかうことは多々あるのですが、Excelファイル形式ではなくて、CSV形式のファイルだったりします。
なお、CSVはComma Separated Valueの略です。
CSVというのは、テキストファイルの一種で、「,(カンマ)」で区切られたテキストファイルのことです。
NO,店舗名,売上高
1,新宿,1123
2,渋谷,881
3,池袋,1148
4,品川,1029
5,秋葉原,489
上記のようなデータです。
このCSVファイル。
Excelがインストールされているファイルだと、ダブルクリックでも開くことができますし、ファイルを開くからでも、開くことができます。
ところが、ここで問題が発生します。
Excelを起動して、ファイルを開いてみます。
ポイントは、ファイルの種類を、「テキストファイル(*.pm;*.txt;*.csv)」を選択しないと、ファイル名一覧に表示されません。
または、「すべてのファイル」でもOKです。
ファイルを選択したら、開くボタンをクリックします。
ファイルは開いたのですが、文字化けしています。
これでは、データの処理どころではありません。
この原因は、文字コードに原因があります。
このファイルは、CSVファイルというテキストデータなのですが、文字コードの種類が【UTF-8】で保存されているのです。
Webサイトなどでは、文字コードをUnicodeでつくることが多いのですが、Excelは、Shift-JISという文字コードを使っているために、UnicodeのUTF-8で保存された文字は、文字化けを起こしてしまうわけです。
逆に、Shift-JISで保存されたCSVファイルは、問題なく開くことができます。
UTF-8かどうなのかを、いちいち、事前に確認をしないといけないのでしょうか?
それとも、UTF-8で保存されたCSVファイルは開くことができないのでしょうか?
このように文字化けに対応する方法があります。
紹介する方法は、Microsoft365(旧称Office365)やExcel2019(Excel2016の一部)でのやり方です。
データタブの「データの取得と変換」にある「テキストまたはCSVから」を使います。
「テキストまたはCSVから」をクリックすると、データの取り込みダイアログボックスが表示されますので、該当するCSVファイルを選択して、「インポート」ボタンをクリックします。
見慣れないダイアログボックスが表示されてきました。
このダイアログボックスは、Excel Power BIの「Power Query」なのです。
つまり、Power Queryをつかって、UTF-8の文字コードで保存されたCSVファイルを読み込もうというわけです。
元のファイルの文字コードを「932:日本語(シフトJIS)」から「65001:Unicode(UTF-8)」に変更したら、「読み込み」ボタンをクリックします。
テーブルとして、CSVファイルを読み込むことができました。
文字化けした場合には、このように対応することができます。
なお、拡張子がtxtのテキスト形式でのUTF-8は、この方法と異なりますが、文字コードに注意することで対応することができます。