JSONファイルをPythonで読み込む際、文字コードのエラーが出ました。「encoding=”utf-8″」を指定して読み込むと解決します。
環境
Windows10
Python3
文字コードエラー
Node.jsで書き出したJSONファイルを、Pythonで読み込もうとしたら、UnicodeDecodeError: ‘cp932’というエラーが出ました。
1 |
UnicodeDecodeError: 'cp932' codec can't decode byte 0x8c in position 22: illegal multibyte sequence |
日本語を含むファイルでエラーが出ます。
cp932はShift-JISです。JSONファイルの文字コードをテキストエディタでShift-JISに変更すれば解決できますが、無駄な労力がかかります。
Pythonからutf-8でファイルを読み込むようにしましょう。
JSON読み込みコード
1 2 3 4 5 6 |
import json if __name__ == "__main__": with open('./data.json', 'r', encoding="utf-8") as f: data = json.load(f) print(data) |
encoding=”utf-8″を指定してファイルを開けば、文字コードのエラーは回避できます。