【发布时间】:2017-06-23 08:21:38
【问题描述】:
我正在尝试编写带有双点(变音符号)的字符,例如 ä、ö 和 Ö。我可以使用data.encode("utf-8") 将其写入文件,但结果b'\xc3\xa4\xc3\xa4\xc3\x96' 并不好(UTF-8 作为文字字符)。我想将"ääÖ" 写入存储到文件中。
如何在 Python 3 中将带有元音变音字符的数据写入 CSV 文件?
import csv
data="ääÖ"
with open("test.csv", "w") as fp:
a = csv.writer(fp, delimiter=";")
data=resultFile
a.writerows(data)
追溯:
File "<ipython-input-280-73b1f615929e>", line 5, in <module>
a.writerows(data)
UnicodeEncodeError: 'ascii' codec can't encode character '\xe4' in position 15: ordinal not in range(128)
【问题讨论】:
-
用
encoding='utf-8'打开文件有帮助吗? -
尝试添加:
#!/usr/bin/env python # -*- coding: utf-8 -*-看到这个answer -
@languitar 不,它没有。
-
@terencehill 这不是这里的问题,
encoding参数需要按照 yper 的指示添加到 open 函数中。感谢您的回答! -
实际上这不适用于python2X,您是否意识到yper给出的解决方案与上面@languitar建议的完全一样?无论如何,使用 python3 的解决方案接受它是正确的。
标签: python python-3.x csv encoding utf-8