在CSV中写入Unicode数据

发布于 2021-01-29 15:05:47

我知道类似的问题已经问过很多次了,但是严重的是我无法正确实现在csv中正确编写的csv编写器(它显示了垃圾)。

我正在尝试使用UnicodeWriter,如官方文档中所述

ff = open('a.csv', 'w')
writer = UnicodeWriter(ff)
st = unicode('Displaygrößen', 'utf-8') #gives (u'Displaygr\xf6\xdfen', 'utf-8')
writer.writerow([st])

这不会给我任何解码或编码错误。但是它写的DisplaygrößenDisplaygrößen哪个不好。有人可以帮我在这里做错什么吗?

关注者
0
被浏览
84
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    您正在以UTF-8格式写入文件,但未在csv文件中指明该文件。

    您应该在文件的开头写入UTF-8标头。添加:

    ff = open('a.csv', 'w')
    ff.write(codecs.BOM_UTF8)
    

    然后,您的csv文件应在程序尝试读取的情况下正确打开。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看