pythonでwebからスクレイピングしてきた文字列を shift_jis の txt ファイルにしたいのですが、
UnicodeEncodeError: 'shift_jis' codec can't encode character '\xa0' in position 1308: illegal multibyte sequence
というエラーが出てしまいます。
変数textはutf-8です。
python
1f = open('%s.txt'%textName, 'w+',encoding='shift-jis') 2 3# ここでスクレイピングの処理をして変数textに代入する。 4 5if text.find(u'\xa0'): 6 text = text.replace(u'\xa0', u' ') 7if text.find(u'\xa0'): 8 text = text.replace(u'\xa9', u' ') 9text.encode('shift-jis','ignore') 10f.write(text) 11f.close()
cp932 や euc-jpでもダメでした。
何か解決策はありませんか?
追記しました:
replaceの仕方を間違えていました。
上記のコードで書き込めましたが、いちいちshift_jisにない文字を置換していかないといけないのでしょうか・・・
エラー文字を空文字に置換できるような方法はないのでしょうか・・・
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/06/25 19:17