python 3 : CSV utf-8 encoding

标签 python python-3.x encoding utf-8 character-encoding

我正在尝试使用 Python 3 编写具有非 ascii 字符的 CSV。

import csv

with open('sample.csv', 'w', newline='', encoding='utf-8') as csvfile:
    spamwriter = csv.writer(csvfile, delimiter=' ',
                            quotechar='|', quoting=csv.QUOTE_MINIMAL)
    spamwriter.writerow("嗨")

当我打开 Excel 文件时,看到的是 å—¨。我在这里做错了什么吗?

最佳答案

您需要向 Excel 表明这是一个 UTF-8 文件;它不会自动假设。

您可以通过放置一个 Byte Order Mark (BOM) 来做到这一点在文件的开头:

with open('sample.csv', 'w', newline='', encoding='utf-8') as csvfile:
    csvfile.write('\ufeff')

关于 python 3 : CSV utf-8 encoding,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46551955/

相关文章:

python - 生成器表达式 vs yield : Why isn't 'next()' working?

python - 开始使用我自己的数据集启动 google-cloud-ml

python - Python/pip 如何处理冲突的传递依赖项?

python - 在具有不同变量的多个内核中运行类似程序

python-3.x - 使用 make install 在 Raspbian Raspberry Pi 3+ 中安装 OpenCV 4 时出现编译错误

python - 协程从 send() 而不是 next() 开始运行

encoding - ELF 中的 NEEDED 条目是否有标准编码?

python - 文件对话框不适用于 PyQt5?

encoding - 如何停止理性团队音乐会 (RTC) 更改文件文本编码?

mysql - 如何使 MySQL View 的创建遵循与数据库默认值相同的字符编码?