ブログトップ 記事一覧 ログイン 無料ブログ開設

大人になったら肺呼吸 RSSフィード Twitter

2010-02-11

ExcelでUTF-8エンコーディングされたCSVファイルを開く方法

f:id:replication:20130605002223j:image

photo credit: gonzalo_ar via photopin cc

はじめに

このエントリでは、ExcelでUTF-8エンコーディングされたCSVファイルを開く方法を紹介します。

結論

以下のような3つの方法があります。

  1. 拡張子をcsvからtxtに変更してから開く。
  2. CSVファイルをBOMつきのUTF-8ファイルに保存しなおしてから開く。
  3. CSVファイルの保存形式をANSIに変更してから開く。
ExcelはCSVファイルをShift_JISで開こうとする

Excelは、CSVファイルをShift_JISで開こうとします。このため、Shift_JIS以外(たとえば、UTF-8)のエンコーディングで保存されたCSVファイルを開こうとすると、文字化けします。

Excel にて、UTF-8 形式のテキスト ファイル (拡張子 CSV や TXT) を開くと文字化けが発生します。

(中略)

Excel では、UTF-8 形式でテキスト ファイルを開くことができません。

この現象は Excel の仕様に基づく制限事項です。

[XL2002] UTF-8 形式のテキスト ファイルが文字化けする はてなブックマーク - [XL2002] UTF-8 形式のテキスト ファイルが文字化けする

UTF-8でエンコーディングされたCSVファイルを文字化けせずに開く場合には、以下の方法でファイルを開く必要があります。

CSVファイルの拡張子を変更する

拡張子を変更することで、UTF-8で保存されたCSVファイルをExcelで開くことができます。

  1. 拡張子を.csvから.txtに変更します。
  2. メニューバーのファイル−開くから、拡張子を変更したファイルを指定します。

これにより、読み込み時のエンコーディングを指定して、CSVファイルを開くことができます。

拡張子が.txtで、ファイルを開くとテキストウィザードが起動し、文字コードを選択することができます。

この特性を利用して、

.csvから.txtに拡張子をちょこっと変えてあげれば、文字コードを選択することができます。

ただし、ドラック&ドロップをすると、強制的にShiftJISとして開いてしまいます。

メモ ExcelでUTF-8のCSVを開く方法 - ono ono ono はてなブックマーク - メモ ExcelでUTF-8のCSVを開く方法 - ono ono ono

CSVファイルをBOMつきのUTF-8形式で保存しなおしてから開く

BOMなしのUTF-8から、BOMつきのUTF-8形式に変換してから、開くようにすれば、文字化けを回避できます。

以前よりマイクロソフト社製品はすべて内部的にはUnicodeを全面的にサポートしているはずなので、読み込ませられないわけはないはず…とおもって検索したりしていたところ解決方法がわかりました。

<解決方法>

ファイルを「BOM付き」(あるいはUTF-16)で再保存する

ExcelでUTF-8のCSVを開く方法 (CodeZine編集部ブログ) はてなブックマーク - ExcelでUTF-8のCSVを開く方法 (CodeZine編集部ブログ)

保存形式をANSIに変更してから開く

保存形式をANSIに変更してから開くという方法でも開くことはできますが、Shift_JIS範囲外の文字はANSIでは表現できないため、文字情報が欠落する可能性があります。表現できない文字は、?で文字化けして保存されます。

メモ帳で開き、「名前を付けて保存」で文字コード:ANSIを選択して保存すればExcelで文字化けしない文字コードとなります。

ExcelでUTF8のcsvファイルを開く方法 | OKWave はてなブックマーク - ExcelでUTF8のcsvファイルを開く方法 | OKWave


関連エントリ

soyanasoyana 2010/10/22 16:21 Excel 2003 以降であれば、[データ] > [外部データの取り込み] でそのまま開くことができませんか

replicationreplication 2010/11/26 23:05 こんにちわ。コメントありがとうございます。
そんな機能があったのですが、ちょっと試してみたいと思います。

watayan-nakanishiwatayan-nakanishi 2014/04/19 00:10 学校ではCSVファイルを迂闊に使うと「E組問題」(3年E組5番の意味で3E05と書かれた文字列が300000と解釈される)が起きるのですが,「外部データの取り込み」だと列を文字列として読み込ませることができるので便利なのです。

投稿したコメントは管理者が承認するまで公開されません。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証