テキストファイルの読み取り中にこのエラーが発生し続けます。それを処理/無視して続行することは可能ですか?
UnicodeEncodeError: 'charmap'コーデックは7827のバイト0x81をデコードできません:文字は未定義にマップされます。
Python 3では、ファイルオブジェクトの作成時に適切な_errors=
_値(_errors=ignore
_または_errors=replace
_など)を渡します(それが_io.TextIOWrapper
_-そうでない場合は、1つにラップすることを検討してください!);また、charmap
よりも可能性の高いエンコードを渡すことを検討してください(わからない場合は、_utf-8
_を始めるのに最適な場所です)。
例えば:
_f = open('misc-notes.txt', encoding='utf-8', errors='ignore')
_
Python 2の場合、read()
操作は単にバイトを返します。トリックは、それらをデコードして文字列にすることです(実際には、文字が必要な場合)バイトとは対照的に)実際のエンコーディングについてより良い推測がない場合:
_your_string.decode('utf-8', 'replace')
_
...未処理の文字を置き換える、または
_your_string.decode('utf-8', 'ignore')
_
単にそれらを無視します。
つまり、(_utf-8
_を推測するのではなく)realエンコーディングを見つけて使用することをお勧めします。
コーデックでファイルを開いて、ファイルがUTF8として解釈されることを確認する必要があります。
インポートコーデック fd = codecs.open(filename、 'r'、encoding = 'utf-8') data = fd.read()