テキスト ファイルの読み取り中にこのエラーが発生し続けます。それを処理/無視して続行することは可能ですか?
UnicodeEncodeError: 'charmap' コーデックは位置 7827 のバイト 0x81 をデコードできません: 文字は未定義にマップされます。
テキスト ファイルの読み取り中にこのエラーが発生し続けます。それを処理/無視して続行することは可能ですか?
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
ます。
ファイルが UTF8 として解釈されることを確認するために、コーデックを使用してファイルを開く必要があります。
コーデックのインポート fd = codecs.open(ファイル名,'r',encoding='utf-8') データ = fd.read()
ええ..あなたはそれをラップすることができます
try:
....
except UnicodeEncodeError:
pass