前提:実現したいこと
非エンジニア、Python初心者です。
こちらへの投稿も初めてですので、質問の仕方等不備があればご指摘いただけるとありがたいです。
Pythonで、JSONオブジェクト内の漢字と読みの情報を個別に取り出して操作しようとしています。
JSON
1#test_data.json 2[{"kanji": "阿", "yomi": "あ お"}, 3 {"kanji": "哀", "yomi": "あい あわ.れ かな.しい"}, 4 {"kanji": "愛", "yomi": "あい いと.しい め.でる まな"}]
スペース区切りの読みを個別に取り出し、それぞれに該当する漢字を割り振ってスペース区切りで1行ずつのデータに書き出したいです。
希望する出力結果:
阿 あ
阿 お
哀 あい
哀 あわ.れ
︙(省略)
愛 まな
発生している問題
読みデータを個別に取り出すことはできたのですが、漢字を頭につけようとするとすべての読みを読み込むまで次の漢字を取得してくれません。
実際の出力結果:
阿 あ
阿 お
阿 あい
阿 あわ.れ
︙(省略)
愛 あ
愛 お
愛 あい
愛 あわ.れ
︙(省略)
該当のソースコード
Python
1import json 2 3json_open = open('test_data.json', 'r') 4json_load = json.load(json_open) 5 6for kanji_list in json_load: 7 kanji = kanji_list['kanji'] 8 9 for yomi_list in json_load: 10 yomi = yomi_list['yomi'] 11 12 for yomi_item in yomi.split(): 13 print(kanji + " " + yomi_item)
試したこと
読みの内容をリスト化して長さを取得し、その回数だけ kanji_list をループさせるのだろうなというところまでは考えが及んだのですが、漢字ごとの読みのリスト化がうまくできませんでした。
補足情報(FW/ツールのバージョンなど)
Mac OS 11.6
Google colaboratory 上で作業しています。
Python 3.7.12
BeautifulSoup4 4.6.3
よろしくお願いいたします。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/11/11 23:14