перебирать строки Unicode и сравните с юникодом в словаре Python


У меня есть два словаря python, содержащих информацию о японских словах и иероглифах:

  1. vocabDic: содержит словарь, ключ: слово, значение: словарь с информацией о нем
  2. kanjiDic: содержит kanji (single японский символ), ключ: кандзи, значение: словарь с информацией о нем

    Теперь я хотел бы перебрать каждый символ каждого слова в словарях и найти этот символ в словаре кандзи. Моя цель - создать файл csv, который я затем могу импортировать в базу данных в виде таблицы соединений для словаря и кандзи.
    Моя версия Python - 2.6
    Мой код следующий:

     kanjiVocabJoinWriter = csv.writer (open ('kanjiVocabJoin.csv', 'wb'), delimiter = ',', quotechar = '|', quoting = csv.QUOTE_MINIMAL)
    kanjiVocabJoinCount = 1
    
     #loop through dictionary
    для ключа val в словарях vocabDic.iteritems ():
      if val ['lang'] is 'jpn': # проверять только японские слова
      словарь = вал ['текст']
      печатный словарь
      # цикл по строке словаря
      для v в словарях:
      test = kanjiDic.get (v)
      печать v
      тест печати
      если тест не равен None:
      print str (kanjiVocabJoinCount) + ',' + str (test ['id']) + ',' + str (val ['id'])
      kanjiVocabJoinWriter ([str (kanjiVocabJoinCount), str (test ['id']), str (val ['id'])])
      kanjiVocabJoinCount = kanjiVocabJoinCount + 1
     

Если я печатаю переменные в командной строке, я получаю:
словарь: произведения, гравюры на японском
v (один символ словаря в цикле for): �
тест (символ искал в kanjiDic): None

Мне кажется, что цикл for портит кодировку.
Я пробовал различные функции (декодирование, кодирование ...), но пока безуспешно.
Есть идеи, как мне заставить это работать?
Помощь будет очень признательна.

9
задан Makoto 29 April 2012 в 22:11
поделиться