J'ai un problème avec la méthode de "décodage" dans python 3.3.4. Voici mon code:
for lines in open('file','r'):
decodedLine = lines.decode('ISO-8859-1')
line = decodedLine.split('\t')
Mais je ne peux pas décoder la ligne pour ce problème:
AttributeError: 'str' object has no attribute 'decode'
As tu des idées? Merci
Un code chaînes et un décode octets.
Vous devez lire les octets du fichier et les décoder:
for lines in open('file','rb'):
decodedLine = lines.decode('ISO-8859-1')
line = decodedLine.split('\t')
Heureusement, open
a un argument de codage qui facilite les choses:
for decodedLine in open('file', 'r', encoding='ISO-8859-1'):
line = decodedLine.split('\t')
open
décode déjà en Unicode en Python 3 si vous ouvrez en mode texte. Si vous voulez l'ouvrir en octets, afin de pouvoir ensuite décoder, vous devez ouvrir avec mode 'rb'.
Cela fonctionne pour moi en douceur pour lire du texte chinois en Python 3.6. Tout d'abord, convertissez str en octets, puis décodez-les.
for l in open('chinese2.txt','rb'):
decodedLine = l.decode('gb2312')
print(decodedLine)