美文网首页
csv如何写入unicode字符到文件

csv如何写入unicode字符到文件

作者: 小木胆 | 来源:发表于2017-04-26 10:16 被阅读0次

python使用csv库写unicode字符到文件会抛出unicode转换异常,比如在stackoverflow上就有哥们遇到过这样的

UnicodeEncodeError: 'ascii' codec can't encode character u'\xef' in position 0: ordinal not in range(128)

后面的解决方法很多,比如使用pip上的另一个csv模块,但是要额外安装很蛋疼。

问题的关键在于打开python2.7打开文件默认是ascii的,所以写入的时候有问题。直接用codecs以utf-8格式打开一个文件,再写入即可:

import codecs
with codecs.open(filename, "wb", "utf-8") as file:
    writer = csv.DictWriter(file, fieldnames=header)
    writer.writeheader()
    for row in rows:
        writer.writerow(row)

相关文章

网友评论

      本文标题:csv如何写入unicode字符到文件

      本文链接:https://www.haomeiwen.com/subject/focizttx.html