我正在编写一个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文件中显示中文字符?
答案 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