我知道类似的问题已被多次询问但严重的是我无法正确实现在csv中正确写入的csv编写器(它显示垃圾)。
我正试图在official docs中使用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ößen
写为Displaygrößen
并不好。任何人都可以帮助我在这里做错了吗?
答案 0 :(得分:6)
您正在以UTF-8格式编写文件,但未在csv文件中指明该文件。
您应该在文件开头写入UTF-8标头。加上这个:
ff = open('a.csv', 'w')
ff.write(codecs.BOM_UTF8)
然后你的csv文件应该在程序试图读取之后正确打开。
答案 1 :(得分:0)
使用codecs.open打开文件应该修复它。