Je sais qu'il y a beaucoup de matériel à ce sujet, mais je ne peux pas trouver de solution à mon problème.
J'ai ce texte écrit dans un fichier txt que je dois manipuler, etc. et il contient beaucoup de caractères accentués. Je ne peux pas les gérer correctement pour une raison quelconque. Voici mon code:
file = open ('parsed.txt', 'w', encoding = 'latin1')
file.write('ààààà')
Cela fonctionne très bien.
Mais je dois aussi que cela fonctionne bien:
with open('input.txt', 'r', encoding = 'latin1') as f:
string = f.read()
or_array = string.splitlines()
new_array = []
for line in or_array:
new = (line[13:]).strip()
print(new)
new_array.append(new)
new_string = ''
for lin in new_array:
new_string += lin
new_string += ' '
f_n = open('parsed.txt', 'w', encoding = 'latin1')
f_n.write(new_string)
quel est le problème avec ce code?
contribution:
00:00:06.49 ciaò
00:00:20.665 Questa è una provà
00:00:44.157 èè aa ò à ùù ù
00:00:44.157
production:
ciaò Questa è una provàèè aa ò à ùù ù
Je vous remercie.
Fonctionne pour moi si le contenu de input.txt est réellement dans ISO-8859-1. Si c'est en UTF-8, vous obtenez les résultats incorrects que vous voyez. En d'autres termes, lorsque je copie / colle votre entrée, j'obtiens un fichier dont le contenu est UTF-8. Si je le fais, iconv -f utf-8 -t L1 < utf8.txt > input.txt
votre programme fonctionne bien.
Au fait, votre programme n'est pas idiomatique en python et va être très inefficace sur de grandes entrées.
Cet article est collecté sur Internet, veuillez indiquer la source lors de la réimpression.
En cas d'infraction, veuillez [email protected] Supprimer.
laisse moi dire quelques mots