4

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

我正在尝试使用 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的词。谁能帮助我在这里做错了什么?

4

2 回答 2

6

您正在编写一个 UTF-8 格式的文件,但您没有在 csv 文件中指出这一点。

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

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

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

于 2012-05-07T12:27:34.643 回答
0

使用codecs.open打开文件应该可以修复它。

于 2012-05-07T12:13:08.897 回答