Python 3.x 将 Unicode 文字作为它们在文件中的值写入

Python 3.x Write Unicode literals as their value in file

我正在使用 Python 3.x 在 Win10 上编程。我需要连接到 Twitter API 并传输推文。我需要将它们作为完全可读的 ("ä" = "ä" != "\u00e4") 字符串存储在 .csv.

数据是一条完整的推文 JSON

saveFile=open('twitDB.csv','a', encoding= 'utf-8')
saveFile.write(json.dumps(data, ensure_ascii=False))
saveFile.write('\n')
saveFile.close()

我尝试了上面的代码,但变音符号仍然显示为

Bev\u00f6lkerung

我已将 # -*- coding: utf-8 -*- 包含在 header 中,但也没有任何更改。 有人知道我做错了什么吗?

我找到了告诉我错误的人。

显然我调换了 json.dumpsjson.loads 的意思。要解码字符串,我必须用 json.loads() 解析 JSON 并在 .csv 文件中用 str 转换写入它。

这里是片段:

jdata = json.loads(data) 
        saveFile=open('twitDB.csv','a', encoding='utf8') 
        cfile = csv.writer(saveFile)
        cfile.writerow([str(jdata['id']), jdata['text'], jdata['lang']])
        saveFile.close()