8/09/2021

Excel。UTF-8で保存されたCSVファイルは文字化けするので、どうしたらいいの?【UTF-8】

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は、この方法と異なりますが、文字コードに注意することで対応することができます。