python - excel 的 csv 文件上的 UTF-/编码问题

标签 python excel unicode utf-8

编辑:

如果我使用 notepad++ 打开 csv 文件,就会正确显示特殊字符。当我将 csv 文件导入 excel 时,它们也能正确显示。 由于文件导入不是用户的选项,因此如何生成在 excel 打开时正确显示的 csv 文件

我正在生成一个正在使用 Excel 处理的 csv 文件。 使用 excel 打开文件时,无法正确显示“é”等特殊字符 enter image description here

这是我用来生成 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/

相关文章:

python - 将 csv 中的 unicode 转换为纯文本的最佳方法?

python - UnicodeEncodeError :'charmap' 与 'Ö' ,'Ç' 等

c# - 如何将 UTF-8 字符串转换为 Unicode?

python - 在 Pygame 中创建多个交互式多边形按钮

python - 无法在 Visual Studio Virtual Env Python 3.5 64 位中使用 PIP 安装 mysqlclient

python - 更快的 App Engine 开发数据存储替代方案

VBA 在每个循环中插入工作表名称

python - 将数字函数应用于 pandas.series 的快速方法

excel - 将文件夹中的 XLS/XLSX 文件转换为 CSV

Excel公式以文本形式获取当前月份