编辑:
如果我使用 notepad++ 打开 csv 文件,就会正确显示特殊字符。当我将 csv 文件导入 excel 时,它们也能正确显示。 由于文件导入不是用户的选项,因此如何生成在 excel 打开时正确显示的 csv 文件
我正在生成一个正在使用 Excel 处理的 csv 文件。 使用 excel 打开文件时,无法正确显示“é”等特殊字符
这是我用来生成 csv 文件的 poc
# -*- coding: utf-8 -*-
import unicodecsv as csv
import codecs
import sys
reload(sys)
sys.setdefaultencoding("utf-8")
def write_csv(file,headers):
resultFile =codecs.open(file, "w+", "utf-8")
#headers=[s.encode('utf-8') for s in headers]
wr = csv.writer(resultFile, dialect='excel',delimiter=";",encoding="utf-8")
wr.writerow(headers)
resultFile.close()
headers=[""]
headers.append("Command")
headers.append("Vérification".encode('utf-8'))
write_csv(r"C:\test2.csv",headers)
最佳答案
在 python3 中我只是这样做:
with open(file, "w+", encoding='utf-8-sig') as f:
f.write("Vérification")
很简单,对吧? :) 您可以在中搜索“utf-8-sig” the python docs
关于python - excel 的 csv 文件上的 UTF-/编码问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38015124/