3

Excel から UTF-8 テキストをエクスポートしており、Python を使用して受信データを読み取って解析したいと考えています。私はすべてのオンライン情報を読んだので、すでにこれを試しました。たとえば:

 txtFile = codecs.open( 'halout.txt', 'r', 'utf-8' )
 for line in txtFile:
  print repr( line )

私が得ているエラーは次のとおりです。

UnicodeDecodeError: 'utf8' コーデックは位置 0 のバイト 0xff をデコードできません: 予期しないコード バイト

16 進エディタでテキスト ファイルを見ると、最初の値は FFFE です。私も試しました。

txtFile.seek( 2 )

「open」の直後ですが、それは別のエラーを引き起こします。

4

4 に答える 4

5

そのファイルは UTF-8 ではありません。バイトオーダーマーカー付きのUTF-16LEです。

于 2009-12-07T21:21:58.760 に答える
2

Johnathan のコメントを拡張すると、このコードはファイルを正しく読み取る必要があります。

import codecs
txtFile = codecs.open( 'halout.txt', 'r', 'utf-16' )
for line in txtFile:
   print repr( line )
于 2009-12-07T21:33:30.127 に答える
2

それはBOMです

編集、コメントから、それはutf-16 bomのようです

codecs.open('foo.txt', 'r', 'utf-16')

動作するはずです。

于 2009-12-07T21:22:11.410 に答える
0

Excel ファイルに空白行が含まれていないか (そして値が再び含まれているか)、予期しないエラーが発生する可能性があるかどうかを確認してください。

于 2009-12-08T00:27:50.253 に答える