Je perds la tête ici. J'ai lu et essayé tellement de choses que je suis totalement perdu. Je n'utilise pas habituellement Python, et j'essaye de mettre à jour un code. Avant, les fichiers csv ne contenaient aucun caractère spécial (comme "é" ...) et maintenant c'est le cas. Le code réel renvoie l'exception UnicodeEncodeError:Ouvrir le fichier csv dans utf-8 avec Python
try:
self.FichierE = codecs.open(self.CheminFichierE,"r", "utf-8")
self.ReaderFichierE = csv.reader(self.FichierE, delimiter=';')
except IOError:
self.TextCtrl.AppendText(u"Fichier E n'a pas été trouvé")
return
try:
DataFichierE = [ligne for ligne in self.ReaderFichierE]
except UnicodeDecodeError:
self.TextCtrl.AppendText(self.NomFichierE+ u" n'est pas lisible")
return
except UnicodeEncodeError:
self.TextCtrl.AppendText(self.NomFichierE+ u" n'est pas lisible (ASCII)")
return
J'ai essayé tant de choses, je vais mettre la dernière chose que je l'ai fait (et que je pensais que cela devrait fonctionner):
try:
DataFichierE = []
for utf8_row in self.ReaderFichierE:
unicode_row = [x.decode('utf8') for x in utf8_row]
DataFichierE.append(unicode_row)
except UnicodeDecodeError:
self.TextCtrl.AppendText(self.NomFichierE+ u" n'est pas lisible")
return
except UnicodeEncodeError:
self.TextCtrl.AppendText(self.NomFichierE+ u" n'est pas lisible (ASCII)")
return
Toute aide sera grandement appréciée!