【发布时间】:2018-11-06 01:58:35
【问题描述】:
我在尝试写入 csv 文件时遇到了这个问题:
from csv import writer
str1 = "idzie wąż wąską dróżką"
str2 = "мир и любовь"
csv_file = open("myFile.csv", "a", newline="", encoding="utf-8")
writer_Obj = writer(csv_file, delimiter=';')
writer_Obj.writerow([str1, str2])
这是文件中的结果:
idzie wąż wąską dróżką
мир и любовь
【问题讨论】:
-
你如何显示文件?如果在 Windows 上,某些编辑器假定使用本地编码而不是 UTF-8,除非在文件开头写入 BOM 签名。请改用
encoding='utf-8-sig'。 -
确保在切换到
encoding='utf-8-sig'之前删除现有文件,因为您使用附加打开,所以您必须从一个新文件开始。 -
我在 Linux (python 3.6.5) 中运行了您的脚本,它按预期工作。您的脚本是否保存为 uft-8?
-
@gbajson 是的,问题是当我用 excel 打开 csv 文件时,它不在 utf-8 中,但我通过使用 excel 及其工作将 csv 文件导出到 xls 来解决 il
标签: python-3.x csv utf-8 writer