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

时间:2016-01-13 07:46:45

标签: python json csv character-encoding encode

我正在编写一个Python程序来读取JSON文件中的信息,然后将信息写入csv文件。 JSON文件包含英文和中文字符。但是,生成的csv文件无法显示中文字符,但会显示一些奇怪的字符(如數)。

以下是我的计划的一部分

reload(sys)
sys.setdefaultencoding('utf-8')

with open('file.json') as data_file:
  data_teacher = json.load(data_file)

topic[worksheet] = data_teacher[worksheetID]['Topic']
sys.stdout = open('Worksheet.csv','w')
sys.stdout.write(str(topic[worksheet].encode('utf-8')))

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

2 个答案:

答案 0 :(得分:1)

考虑使用codecs.open函数从utf-8文件中读取\ write。用法可能如下所示:

import codecs 

with codecs.open('file.json', 'r', 'utf-8') as data_file:
  data_teacher = json.load(data_file, 'utf-8')

topic[worksheet] = data_teacher[worksheetID]['Topic']
out = codecs.open('Worksheet.csv', 'w', 'utf-8')
out.write(topic[worksheet])

这个功能一直用俄语字母帮我。

答案 1 :(得分:0)

要在输出中保留汉字,请使用get

BaseFilterView