python - 在 csv 中写入 unicode 数据

标签 python csv python-2.7

我知道类似的问题已被问过很多次,但说真的,我无法正确实现在 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 这不是很好。任何人都可以帮助我我在这里做错了什么吗??

最佳答案

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

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

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

然后您的 csv 文件应该可以正确打开,程序会尝试读取它。

关于python - 在 csv 中写入 unicode 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10481738/

相关文章:

python - Go - Python 的 "pass"相当于什么?

python - 使用 Celery 并行和顺序执行任务

python - 为什么当我使用 pd.update 时 pandas 抛出 "Data overlaps."?

javascript - 定义 D3 插件 sankey.js 和 html 代码之间的源

javascript - Duck Punching/Monkey Patching 破坏了 Tablesorter

python - Pandas 将 csv 列值读取为列表

Python 与 dataframe 的复杂操作

python - 如何在其他函数可以在 python 中访问的函数中创建变量?

python - com dll 的 Py2exe 版本号

python-2.7 - OpenCV/Python 中的霍夫线