Bien, he leído muchas preguntas similares, y creo que estoy siguiendo el consejo correctamente, pero de alguna manera mi código aún no está funcionando.UnicodeEncodeError: el códec 'ascii' no puede codificar el carácter u ' u2019' en la posición 126: ordinal no en rango (128)
He analizado un archivo xml. He leído aquí que la salida ahora es unicode. Estoy usando el escritor csv para escribir salida en un archivo.
Por lo tanto, en mi código he intentado codificar en utf-8 antes de usar writerow. ¿Por qué todavía obtengo el error en writerow? Mi advertencia, "unicode !!!" no se lanza hasta que ocurre este error (estoy ejecutando esto en varios archivos, y funciona para la mayoría). En realidad, sin embargo, no entiendo por qué el escritor está tratando de usar ascii, ¿no debería esperar utf-8? He reemplazado utf-8 con ascii en la función de codificación solo para patadas. Mismos resultados ¡¡¡Por favor ayuda!!!
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)
"He analizado un archivo xml. He leído que la salida ahora es unicode". Muestre cómo analiza el XML. –