Python - UnicodeDecodeError:&#39; charmap&#39;编解码器不能解码44位的字节0x81:字符映射到<undefined>

时间:2017-04-01 03:08:30

标签: json python-3.x pandas jupyter-notebook

在Python 3 Jupyter笔记本上使用pandas,我得到了

  

UnicodeDecodeError:&#39; charmap&#39;编解码器不能将字节0x81解码到位   44:字符映射到

尝试读取如下所示的json文件时出现

错误:

{
    "Test1": {
        "A": "攻撃を続ける",
        "B": "残り資源",
        "C": "残りの資源を得るため小隊を修理し戦闘を続けろ:"
    },
    "Test2": {
        "D": "{x} 日目",
        "E": "CC レベル {x}",
        "F": "本当にこれから全てのデバイスでこの基地を使用しますか?",
        "G": "この{social_network}アカウントには2つの基地が存在してます。基地の数は一人のプレイヤーにつき一つに限定されています。基地を選択するか、キャンセルしてください。",
    }
}

知道如何解决这个问题吗?

See full error message here

import pandas as pd

json_df = pd.read_json('input.json')
json_df
编辑:我也尝试用JSON模块读取json,它仍然是同样的错误。

2 个答案:

答案 0 :(得分:2)

您的.json文件编码为UTF-8。 pd.read_json尝试将其解码为CP1252。您需要将其解码为UTF-8:

import pandas as pd

json_df = pd.read_json('input.json', encoding='UTF-8')
json_df

答案 1 :(得分:1)

如果您正在阅读文本文件并且出现错误 “python-unicodedecodeerror-charmap-codec-cant-decode-byte-0x81-in-position”

然后这样做: 将文本文件转换为 CSV。

data=open('c:/.../path/.../filename.csv',encoding='utf-8')
data=data.read().lower()