xmlファイル内にある以下のようなデータから、
<data-report test-id = 123456 factor = A>
<data-info name = ABC number="20" effect="5600" cost="1000">
<data-info name = BCD number="50" effect="7600" cost="1500">
<data-info name = DEF number="70" effect="5200" cost="1800">
それぞれのタプルの先頭にtest-idが含まれる以下のようなリストを作成したいと考えています。
[('123456', 'ABC', '20', '5600'), ('123456', 'BCD', '50', '7600'),('123456', 'DEF', '70', '5200')]
そのために、
python
1sv_data = [] 2for e in soup.find_all(['data-report' or 'data-info']): 3 if e.attrs == {'test-id':True, 'name':True,'number':True, 'effect':True}: 4 sv_data.append((e['test-id'], e['name'], e['number'], e['effect'])) 5print(sv_data)
と書いてみましたが、空のリストが作成されるのみです。
どのように変更したらうまく行きますでしょうか?
どうか宜しくお願い致します。
・xmlの構造(階層)はどうなっていますか?
・「e.attrs == {'test-id':True, 'name':True,'number':True, 'effect':True}」は何を表現していますか?
回答1件
あなたの回答
tips
プレビュー