4

同様の質問が何度も聞かれたことは知っていますが、真剣に、csv に適切に書き込む csv ライターを適切に実装できませんでした (ゴミが表示されます)。

公式ドキュメントで言及されているように 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 に答える