これはよく似た質問を読みましたが、しかし、何とか私のコードはまだ動作していません。UnicodeEncodeError: 'ascii'コーデックは文字u ' u2019'を位置126にエンコードできません:序数が範囲内にありません(012)
私はXMLファイルを解析しました。ここでは出力がユニコードになっていると読んでいます。私はcsvライターを使って出力をファイルに書き出しています。
私のコードでは、writerowを使用する前にutf-8でエンコードしようとしました。なぜ私はまだwriterowでエラーを取得するのですか?私の警告は、 "ユニコード!!!"このエラーが発生するまでスローされません(私はこれを複数のファイルで実行していますが、ほとんどの場合動作します)。実際には、私はなぜwriterowがasciiを使用しようとしているのかわかりませんが、utf-8を期待してはいけませんか?私は、キックのためだけにエンコード関数でutf-8をasciiに置き換えました。同じ結果。助けてください!!!
try:
mystring=elem.find('./'+r2+'Description').text
if isinstance(mystring, unicode):
print("unicode!!!")
mystring.encode('utf-8','ignore')
datalist.append(mystring)
else:
datalist.append(mystring)
except AttributeError:
datalist.append('No text')
c.writerow(datalist)
"xmlファイルを解析しましたが、ここでは出力がユニコードになっています。" XMLをどのように解析するかを示します。 –