Je suis en train de traiter du texte télougou pour analyser quelques jetons de texte.Texte non-anglais (telugu) imprimé en Python au format lisible
>>> sent = "నా పేరు కరీం ఉంది. నేను భారత ఆహార ప్రేమ.".decode('utf-8')
>>> text = sent
>>> text = nltk.word_tokenize(text)
>>> result = nltk.pos_tag(text)
>>> for val in result:
... print list(val)[0], list(val)[1]
...
నా JJ
పేరు NNP
కరీం NNP
ఉంది NNP
. .
నేను VB
భారత JJ
ఆహార NNP
ప్రేమ NNP
De cette façon, je peux voir le résultat dans telugu.
Pour le même texte, quand j'ai essayé de cette façon, il donne une chaîne unicode dans le résultat. Comment imprimer un jeton en telugu?
>>> s = "నా పేరు కరీం ఉంది. నేను భారత ఆహార ప్రేమ.".decode('utf-8')
>>> res = s.split(' ')
>>> res[0]
u'\u0c28\u0c3e'
>>> type(res[0])
<type 'unicode'>
>>> res[0].encode('ascii')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)
>>> res[0].encode('utf-8')
'\xe0\xb0\xa8\xe0\xb0\xbe'
Edit:
print res[0]
il a donné correctement. Mais quand j'ai exécuté mettre ce code dans le script .py et l'exécuter. Il donne
[email protected]:~/Documents/codes$ python test.py
File "test.py", line 1
SyntaxError: Non-ASCII character '\xe0' in file test.py on line 1, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details
test.py contient:
s = "నా పేరు కరీం ఉంది. నేను భారత ఆహార ప్రేమ.".decode('utf-8')
a = s.split()
for i in a:
print i
essayer 'res d'impression [0]' la place. – nu11p01n73R
Quel est votre problème? Pourquoi ne pas juste 'imprimer()' le résultat: 'print (res [0])'? – Leon
Désolé pour mon erreur. l'impression le donne correctement. Mais le problème persiste toujours. J'apprécie si vous pouvez voir l'édition en question – user123