J'ai utilisé un programme pour traiter les données de ticks. Récemment, il a cessé de fonctionner et s'est écrasé dès qu'il a commencé à traiter le fichier. Il semble que quelque chose a changé avec la façon dont le fournisseur rend les données.Python ne peut pas décoder un jeu de caractères
Alors disons que je lance simplement:
with open("N:\\2017\\2017-09-28 Daily.CAP") as f:
i = 0
while True:
c = f.read(1)
Je reçois cette erreur:
Traceback (most recent call last):
File "C:/Users/b.karjoo/Documents/PycharmProjects/untitled1/test.py", line 4, in <module>
c = f.read(1)
File "C:\Users\b.karjoo\py3_virt_env\lib\encodings\cp1252.py", line 23, in decode
return codecs.charmap_decode(input,self.errors,decoding_table)[0]
UnicodeDecodeError: 'charmap' codec can't decode byte 0x90 in position 1799: character maps to <undefined>
Toutes les suggestions?
Je n'ai pas pu ouvrir le fichier avec np ++ car il est dit que 20gb est trop grand. utf8 donne la même erreur. J'ai donc commencé à passer en revue toutes les options d'encodage une par une. Finalement j'ai recouru à cp437 et je ne reçois pas l'erreur. Je ne sais pas si l'encodage est en fait cp437, mais cela fonctionne. – bkarj
donc vous avez fait encoding = "cp437" est-ce? –
oui c'est exactement ce que j'ai fait – bkarj