美文网首页
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