J'utilise une application Django pour exporter une chaîne dans un fichier CSV. La chaîne est un message qui a été envoyé via un formulaire frontal. Cependant, j'ai reçu cette erreur quand un guillemet simple unicode est fourni dans l'entrée.Export CSV Python Unicode (avec Django)
UnicodeEncodeError: 'ascii' codec can't encode character u'\u2019'
in position 200: ordinal not in range(128)
J'ai essayé de convertir le unicode en ascii utilisant le code ci-dessous, mais toujours obtenir une erreur semblable.
UnicodeEncodeError: 'ascii' codec can't encode characters in
position 0-9: ordinal not in range(128)
J'ai passé au crible à travers des dizaines de sites Web et beaucoup appris sur unicode, cependant, je ne suis toujours pas en mesure de convertir cette ascii unicode. Je me fiche que l'algorithme supprime les caractères Unicode. Les lignes commentées indiquent quelques options que j'ai essayées, mais l'erreur 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,
])
Quelqu'un a-t-il des conseils pour supprimer les caractères Unicode afin que je puisse les exporter au format CSV? Ce problème apparemment facile m'a fait tourner la tête. Toute aide est très appréciée. Merci, Joe
Merci pour le correctif Glenn –