0

UnicodeDecodeErrorが発生します:'utf8'コーデックはバイトをデコードできません...無効な開始バイト。

辞書の値の1つに関係しているのではないかと思います。すべてのフィールドにアクセスしてそれらをdictに入れるには、次を使用します。

        mydictionary = {x:y for x,y in zip(column, values)}

値をutf8準拠の方法に変換できることを保証したり、このエラーを回避したりできるようにするには、何を変更できますか?

列にはすべての列ヘッダーが含まれています...値には、列に対応するすべての値を持つタプルが含まれています

つまり、column =('NAME'、HOBBY')values =(' George'、' Basketball')

私が抱えている問題は、値のどこかで、次のようなことが起こっていることです。values =('-奇妙なutf8非準拠文字を挿入-George'、'Basketball')

4

1 に答える 1

0

不正な値の正確な内容を気にしない場合は、UTF-8コーデックにエラーを無視するように指示するだけです。

import codecs
codec = codecs.lookup('utf-8')
mydictionary = {codec.decode(x, 'ignore'): codec.decode(y, 'ignore') for x,y in zip(column, values)}

または、で置き換える'ignore''replace'、コーデックは不正な形式の文字をUnicodeの「置換文字」コードポイント(U + FFFD)に置き換えます。の不正な形式の文字列のみが気になる場合はvalues、キーのデコード呼び出しを明らかに省略できます。

于 2012-12-10T15:51:36.873 に答える