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.dumps
和 json.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()
我正在使用 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.dumps
和 json.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()