[python3] リストの変数全てをreplaceで変換する。

[python3] リストの変数全てをreplaceで変換する。

最高の6ヶ月!超実践型プログラミングスクール【.pro】

PythonでUTF-8からShift_JISにエンコードする時によく

UnicodeEncodeError: 'shift_jis' codec can't encode character 
'\uff0d' in position 209: illegal multibyte sequence

このようにエラーが出ることがあります。これは対応していない文字が含まれていることが問題となります。
- ⇒ \uff0d
~ ⇒ \uff5e
が良く使われていてエラーの原因になるのでreplaceで予め除外してしまうのが良いでしょう。
また「\xa0」が含まれる文字列はPython内では問題ありませんがWindows環境でエクスポートする時の変換でUnicodeEncodeErrorになるのでこれも除外しましょう。

test = test.replace('\uff0d', '').replace('\xa0', '').replace('\uff5e', '')

UnicodeEncodeErrorはこの処理を行うことでかなり減ります。
リストの変数でも

test_list = [i.replace('\uff0d', '').replace('\xa0', '').replace('\uff5e', '') for i in test_list]

このように書くことでリストの項目全てにreplaceを行う事が出来ます。

退屈なことはPythonにやらせよう ?ノンプログラマーにもできる自動化処理プログラミング

新品価格
¥4,070から
(2020/4/12 17:54時点)

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です