python - 在 excel 中写入 csv 文件时,特殊字符无法正确显示

标签 python excel csv unicode utf-8

我正在尝试将包含特殊字符(如中文字母和法语口音)的字符串写入 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/

相关文章:

python - 创建 Pandas DataFrame 以与 ggPlot 线图一起使用

python - 如何分隔列表中字符串的第一部分和最后一部分

vba - 从 Excel 中查找并替换单词。应用程序定义或对象定义的错误

Python csv.DictReader 内存不足

python - 替换csv文件python的第一行

python - xlsxwriter 在满行之间创建空行

python - 如何从子模块导入 python 脚本?

Python pandas 数据框将函数结果应用于多列,其中 NaN

vba - 在 VBA 中打开超链接

sql - 无法在 Excel 中从 Azure Sql Server 获取数据