在csv中编写unicode数据

Aam*_*nan 4 python csv python-2.7

我知道类似的问题已被多次询问,但严重的是我无法正确实现在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])
Run Code Online (Sandbox Code Playgroud)

这不会给我任何解码或编码错误.但它写的字Displaygrößen作为Displaygrößen这是不好的.谁能帮助我,我在这里做错了什么?

Bou*_*oud 6

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

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

ff = open('a.csv', 'w')
ff.write(codecs.BOM_UTF8)
Run Code Online (Sandbox Code Playgroud)

并且在程序尝试读取之后,您的csv文件应该正确打开.