Tengo dos diccionarios de Python que contienen información acerca de palabras japonesas y caracteres:
iterar a través de cadenas Unicode y comparar con Unicode en el diccionario de Python
- vocabDic: contiene el vocabulario, la clave: palabra, valor: diccionario con información de al respecto
kanjidic: contiene kanji (solo carácter japonés), clave: kanji, valor: diccionario con información sobre el mismo
Ahora me gustaría repetir throug h cada carácter de cada palabra en el vocabDic y busca este personaje en el diccionario kanji. Mi objetivo es crear un archivo csv que luego pueda importar a una base de datos como tabla de unión para vocabulario y kanji.
versión Mi Python es 2.6
Mi código es el siguiente:kanjiVocabJoinWriter = csv.writer(open('kanjiVocabJoin.csv', 'wb'), delimiter=',', quotechar='|', quoting=csv.QUOTE_MINIMAL) kanjiVocabJoinCount = 1 #loop through dictionary for key, val in vocabDic.iteritems(): if val['lang'] is 'jpn': # only check japanese words vocab = val['text'] print vocab # loop through vocab string for v in vocab: test = kanjiDic.get(v) print v print test if test is not None: print str(kanjiVocabJoinCount)+','+str(test['id'])+','+str(val['id']) kanjiVocabJoinWriter([str(kanjiVocabJoinCount),str(test['id']),str(val['id'])]) kanjiVocabJoinCount = kanjiVocabJoinCount+1
Si puedo imprimir las variables de la línea de comandos, me sale:
vocabulario: obras, grabados en japonés
v (un carácter del vocabulario en el bucle for):
prueba (el carácter buscado en el kanjiDic): Ninguno
Para mí, parece que el bucle for confunde la codificación.
Probé varias funciones (decodificar, codificar ...) pero hasta ahora no tuve suerte.
Alguna idea sobre cómo podría hacer que esto funcione?
Ayuda sería muy apreciada.
¿Podría usar Python 3 - su Unicode es mejor – Mark
o 'from __future__ import unicode_literals'? – utdemir
muchas gracias! La actualización a python 3 resolvió el problema: D – daniela