[解決済み] Python Unicode エンコードエラー
2022-10-06 20:15:06
質問
Amazon XMLファイルを読み込んでパースしているのですが、XMLファイルには「 」が表示されているのに、それを印刷しようとすると次のようなエラーが表示されます。
'ascii' codec can't encode character u'\u2019' in position 16: ordinal not in range(128)
私がこれまでオンラインで読んだところでは、エラーはXMLファイルがUTF-8であるという事実から来ていますが、PythonはそれをASCIIエンコード文字として扱いたいのです。エラーをなくし、私のプログラムが読み込んだXMLを印刷させる簡単な方法はありますか?
どのように解決するのですか?
おそらく、あなたの問題は、あなたがそれをうまくパースし、今、あなたはXMLの内容を印刷しようとしている、あなたはいくつかの外国語のUnicode文字があるため、できないことです。 まず、Unicode 文字列を ascii としてエンコードしてみてください。
unicodeData.encode('ascii', 'ignore')
のように、'ignore'の部分は、これらの文字をスキップするように指示します。 Pythonのドキュメントより。
>>> # Python 2: u = unichr(40960) + u'abcd' + unichr(1972)
>>> u = chr(40960) + u'abcd' + chr(1972)
>>> u.encode('utf-8')
'\xea\x80\x80abcd\xde\xb4'
>>> u.encode('ascii')
Traceback (most recent call last):
File "<stdin>", line 1, in ?
UnicodeEncodeError: 'ascii' codec can't encode character '\ua000' in position 0: ordinal not in range(128)
>>> u.encode('ascii', 'ignore')
'abcd'
>>> u.encode('ascii', 'replace')
'?abcd?'
>>> u.encode('ascii', 'xmlcharrefreplace')
'ꀀabcd޴'
この記事を読むとよいでしょう。 http://www.joelonsoftware.com/articles/Unicode.html を読むと、何が起こっているのかについての基本的なチュートリアルとして非常に役に立つと思います。 この記事を読めば、どのコマンドを使うべきか推測しているように感じなくなるはずです(少なくとも私はそうでした)。
関連
-
[解決済み] Pythonには文字列の'contains'サブストリングメソッドがありますか?
-
[解決済み] Pythonで現在時刻を取得する方法
-
[解決済み] Pythonで2つのリストを連結する方法は?
-
[解決済み] JavaScriptでURLをエンコードする?
-
[解決済み] Pythonでstdoutをパイピングするときに正しいエンコードを設定する
-
[解決済み】ネストされたディレクトリを安全に作成するには?
-
[解決済み】Unicodeテキストをテキストファイルに書き込む?
-
[解決済み】Pythonに三項条件演算子はありますか?
-
[解決済み] PythonからSMTPを使用してメールを送信する
-
[解決済み] python-requests モジュールからのすべてのリクエストをログに記録します。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Pandasのデータフレームでタプルの列を分割するにはどうしたらいいですか?
-
[解決済み] PythonでファイルのMD5チェックサムを計算するには?重複
-
[解決済み] Pythonの構文に新しいステートメントを追加することはできますか?
-
[解決済み] タプルのリストを複数のリストに変換するには?
-
[解決済み] DataFrameに日付間の日数カラムを追加する pandas
-
[解決済み] 古いバージョンのPythonにおける辞書のキーの並び順
-
[解決済み] Django 1.7で初期マイグレーションからマイグレートバックする方法は?
-
[解決済み] Python 言語を決定するには?
-
[解決済み] 単純な文字列からtimedeltaオブジェクトを作成する方法
-
[解決済み] Pythonの辞書にあるスレッドセーフについて