我正在从csv中读取德语名称,并希望将它们写入csv文件中,并使用正确的ä,ö和ü编码。阅读工作正常,但是当我写入csv时,字符显示如下:Löffler。
reader1 = csv.reader(open('names.csv', 'rb'), delimiter=',')
我需要向编写器添加什么才能获得正确的编码?
outfile.write('K:' + n + ',' + a + ',' + '-' + '\n')
我尝试过unicodecsv,但无法让它工作:
w = unicodecsv.writer(outfile, encoding='utf-8')
w.write('K:' + n + ',' + a + ',' + '-' + '\n')
错误讯息:
AttributeError: 'UnicodeWriter' object has no attribute 'write'
答案 0 :(得分:1)
在python2.X
中,您最好的选择是使用unicodecsv之类的工具,因为此python中的csv
模块仅处理acsii
。
在Python3 +上你会得到这个盒子,只需将正确的编码传递给open函数。
答案 1 :(得分:0)
我认为你必须改变文件的编码。我认为UTF-8应该可行。 你用Java吗? Here someone showed how it should work.