我得到编码问题和确保_ascii=假的问题,而写入一个csv文件

ktecyv1j  于 12个月前  发布在  其他
关注(0)|答案(1)|浏览(82)

我有一个字典列表,我从JSON文件中加载了这些字典。我将这些JSON文件与代码一起存储,如下所示

import json
data = {Some Json}
with open('test.json','w',encoding='ISO-8859-1') as file:
   json.dump(data,file,indent=4,ensure_ascii=False)

当我使用ensure_ascii时,它可以正确存储。我有只能使用ISO-8859-1存储的德语字符。utf-8或任何东西都无法正常工作。这里有一些字符

Größe
ä

但问题来了,当我试图将字典列表存储到csv文件中时,这不起作用。当我试图从它保存一个csv文件,因为我不能ensure_ascii=False有,因为它只使用json.dump(),所以我没有得到字符正确的csv。我在csv中得到的是替换字符��这是我试图存储csv文件的内容

csv_file = "data.csv"
with open(csv_file, mode="w", newline="",encoding='ISO-8859-1',errors='replace') as file:
     writer = csv.DictWriter(file, fieldnames=mainList[0].keys())
     writer.writeheader()
     for row in mainList:
         writer.writerow(row)

所以我应该得到的话Größe,但我得到Gr��e在csv文件。我试着在谷歌上搜索,但没有得到任何解决方案。
如果你能帮我,我很感激。先谢谢你了。

c6ubokkw

c6ubokkw1#

这个脚本将JSON特殊字符保存在我的身边:

import json

jsonfile = {"Größe": "ä"}

with open('test.json','w',encoding='utf8') as file:
   json.dump(jsonfile,file,indent=4,ensure_ascii=False)

相关问题