Tôi có hai bộ từ điển trăn chứa thông tin về từ Nhật Bản và các nhân vật:
lặp qua chuỗi unicode và so sánh với unicode trong từ điển python
- vocabDic: chứa từ vựng, chìa khóa: văn bản, giá trị: từ điển với các thông tin về nó
KANJIDIC: chứa kanji (nhân vật Nhật Bản duy nhất), phím: kanji, giá trị: từ điển với thông tin về nó
Bây giờ tôi muốn lặp throug h mỗi ký tự của mỗi từ trong từ vựng và tra cứu ký tự này trong từ điển kanji. Mục tiêu của tôi là tạo một tệp csv mà sau đó tôi có thể nhập vào cơ sở dữ liệu dưới dạng bảng tham gia cho từ vựng và chữ kanji.
phiên bản My Python là 2,6
Mã của tôi là như sau: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
Nếu tôi in các biến vào dòng lệnh, tôi nhận được:
vocab: tác phẩm, bản in bằng tiếng Nhật
v (một ký tự của từ vựng trong vòng lặp for):
kiểm tra (ký tự tra cứu trong chữ kanjiDic): None
Với tôi, có vẻ như vòng lặp for messes mã hóa lên.
Tôi đã thử các chức năng khác nhau (giải mã, mã hóa ..) nhưng không may mắn cho đến nay.
Bất kỳ ý tưởng nào về cách tôi có thể làm việc này?
Trợ giúp sẽ được đánh giá rất nhiều.
Bạn có thể sử dụng python 3 - unicode của nó tốt hơn – Mark
hoặc, 'từ __future__ nhập unicode_literals'? – utdemir
cảm ơn bạn rất nhiều! Cập nhật cho python 3 giải quyết vấn đề: D – daniela