Estoy usando una aplicación de Django para exportar una cadena a un archivo CSV. La cadena es un mensaje que se envió a través de un formulario de front-end. Sin embargo, he estado recibiendo este error cuando se proporciona una comilla simple Unicode en la entrada.Exportación de Python Unicode CSV (usando Django)
UnicodeEncodeError: 'ascii' codec can't encode character u'\u2019'
in position 200: ordinal not in range(128)
que he estado tratando de convertir el Unicode a ASCII utilizando el código de abajo, pero aún así obtener una error similar.
UnicodeEncodeError: 'ascii' codec can't encode characters in
position 0-9: ordinal not in range(128)
He tamizado a través de docenas de sitios web y he aprendido mucho acerca de Unicode, sin embargo, todavía no soy capaz de convertir este Unicode a ASCII. No me importa si el algoritmo elimina los caracteres Unicode. Las líneas comentadas indican varias opciones que he probado, pero el error persiste.
import csv
import unicodedata
...
#message = unicode(unicodedata.normalize(
# 'NFKD',contact.message).encode('ascii','ignore'))
#dmessage = (contact.message).encode('utf-8','ignore')
#dmessage = contact.message.decode("utf-8")
#dmessage = "%s" % dmessage
dmessage = contact.message
csv_writer.writerow([
dmessage,
])
¿Alguien tiene algún consejo para eliminar los caracteres Unicode para poder exportarlos a CSV? Este problema aparentemente fácil ha mantenido mi cabeza dando vueltas. Cualquier ayuda es muy apreciada. Gracias , Joe
Gracias por la corrección de Glenn –