我正在尝试将包含特殊字符(如中文字母和法语口音)的字符串写入 csv 文件。起初我遇到了经典的 Unicode 编码错误,并在网上寻找解决方案。许多资源告诉我使用 .encode('utf-8',errors='ignore') 来解决问题。这会将字节放在 excel 文件中。在下面显示的代码中,我尝试获取将字符附加到 csv 文件以将字符转换为 utf-8 的函数。这使得程序可以正常运行,但是,当我打开 excel 文档时,我看到文件中没有添加“é”和“蒋”,而是看到了“é”和“è'‹”。
import csv
def appendToCSV(specialCharacter):
with open('myCSVFile.csv',"a",newline="",encoding='utf-8') as csvFile:
csvFileWriter = csv.writer(csvFile)
csvFileWriter.writerow([specialCharacter])
csvFile.close()
appendToCSV('é')
appendToCSV('蒋')
我想完全按照所示显示excel文档中的字符,任何帮助将不胜感激。谢谢你。
最佳答案
使用utf-8-sig
用于编码。 Excel 需要字节顺序标记 (BOM) 签名,否则它将以本地 ANSI 编码解释文件。
关于python - 在 excel 中写入 csv 文件时,特殊字符无法正确显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44808199/