Ok, ho letto molte domande simili e credo di seguire correttamente il consiglio, ma in qualche modo il mio codice non funziona ancora.UnicodeEncodeError: il codec 'ascii' non può codificare il carattere u ' u2019' nella posizione 126: ordinale non compreso nell'intervallo (128)
Ho analizzato un file xml. Ho letto qui che l'output è ora unicode. Sto usando il csv writer per scrivere l'output in un file.
Quindi, nel mio codice ho provato a codificare in utf-8 prima di usare authorow. Perché ottengo ancora l'errore su authorow? Il mio avvertimento, "unicode !!!" non viene lanciato fino a quando non si verifica questo errore (lo sto eseguendo su più file e funziona per la maggior parte). In realtà, però, non capisco perché la scrittrice stia cercando di usare ascii, non dovrebbe aspettarsi utf-8? Ho sostituito utf-8 con ascii nella funzione di codifica solo per i calci. Stessi risultati Per favore aiuto!!!
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)
"Ho analizzato un file xml. Ho letto qui che l'output è ora unicode." Mostra come analizzi l'XML. –