У меня есть два словаря python, содержащих информацию о японских словах и иероглифах:
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 портит кодировку.
Я пробовал различные функции (декодирование, кодирование ...), но пока безуспешно.
Есть идеи, как мне заставить это работать?
Помощь будет очень признательна.