CSV模块 - 在python中将德语写入CSV

时间:2014-01-21 12:56:28

标签: python csv

我正在从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'

2 个答案:

答案 0 :(得分:1)

python2.X中,您最好的选择是使用unicodecsv之类的工具,因为此python中的csv模块仅处理acsii

在Python3 +上你会得到这个盒子,只需将正确的编码传递给open函数。

答案 1 :(得分:0)

我认为你必须改变文件的编码。我认为UTF-8应该可行。 你用Java吗? Here someone showed how it should work.