Python:如何从JSON文件中读取汉字?

Tsi*_*ing 2 python csv json encode character-encoding

我正在编写一个 Python 程序来从 JSON 文件读取信息,然后将信息写入 csv 文件。JSON 文件包含英文和中文字符。但是,生成的csv文件无法显示汉字,而是显示一些奇怪的字符(如\xc3\xa6\xe2\x80\xa2\xc2\xb8)。

\n\n

以下是我的程序的一部分

\n\n
reload(sys)\nsys.setdefaultencoding('utf-8')\n\nwith open('file.json') as data_file:\n  data_teacher = json.load(data_file)\n\ntopic[worksheet] = data_teacher[worksheetID]['Topic']\nsys.stdout = open('Worksheet.csv','w')\nsys.stdout.write(str(topic[worksheet].encode('utf-8')))\n
Run Code Online (Sandbox Code Playgroud)\n\n

我应该如何修改我的程序,以便它可以允许在csv文件中显示汉字?

\n

小智 8

To keep the Chinese character in output, use ensure_ascii = False

with codecs.open(outputfile, 'w', encoding='utf-8') as f:
    json.dump(datafile, f, ensure_ascii=False)
Run Code Online (Sandbox Code Playgroud)