Pythonでcsvやtxtをエクスポートする時によく
「UnicodeEncodeError: ‘shift_jis’ codec can’t encode character
‘\uff0d’ in position 209: illegal multibyte sequence」このようなエラーが出ることが良くあります。
これはpythonでwindowsにファイルをエクスポートする際、UTF-8からShift_JISに変換されているのですが、この文字コードの変換に対応できない文字があった場合に処理できずにエラーになります。
1 2 3 |
test = '\uff0d' test = test.replace('\uff0d', '') |
このように消してしまってもいいのですが、他に変換できない文字が出てきた時にはまたエラーとなってしまいます。
1 2 3 4 5 6 |
path = 'test.text' test = '\uff0d' with open(path, mode='w',errors='ignore') as f: f.write(s) |
このようにopen()メソッドにerrors=’ignore’
を付けることでファイルへの書き込み時のエラーを無視してくれます。
不特定多数の文字を処理する際など必須となるので是非ご参考にして下さい。