Python 開発

pythonでUnicodeDecodeError: 'cp932' illegal multibyte sequence になる

pythonでUnicodeDecodeError: 'cp932' illegal multibyte sequence になる

pythonでtxtやcsvなどのテキストファイルを読み込もうとした際に

UnicodeDecodeError: 'cp932' codec can't decode byte 0xXX in position X: illegal multibyte sequence

が発生する際の原因と対処法。


エラー原因

エラー原因は文字コード

ファイルをopenする際に文字コードを指定しないと、ファイル側の文字コードと、開こうとしているpython側の文字コード(Shift-JIS)が合わずにデコードエラーが発生する。

エラーの回避方法

pythonでopenする際に文字コードを指定する事。
前回は書き込みだったが、今回の読み込みでも同様。

pandasで作ったCSVファイルをExcelで読みたい

対象がBOM付きのUTF-8であれば

open(ファイル名)

の代わりに

open(ファイル名,encoding="utf-8_sig")

を使うとデコードエラーを起こさずにファイルを読み込むことができる。

WindowsでCP932(Shift-JIS)エンコード以外のファイルを開くのに苦労した話 - Qiita


ITipsと同じようなブログを作る方法

ブログに興味がありますか?

もしブログに興味がある場合は↓このページ↓を参考にすれば、ITipsと同じ構成でブログを作ることができます

サーバー、ドメイン、ASPと【ブログに必要なものは全て】このページに書きました。
同じ構成でブログ作るのはいいけど、記事はマネしないでネ (TДT;)

ランキング参加中

にほんブログ村 IT技術ブログへ

他にもブログやSNSで紹介してくれると励みになります。

はてブのコメントで酷評されると泣きます(´;ω;`)

-Python, 開発
-

© 2024 ITips