Python XML в словарь - PullRequest
       1

Python XML в словарь

0 голосов
/ 06 мая 2018

XML-файл выглядит так:

<?xml version="1.0" encoding="UTF-8"?>
<fee_config>
  <fees member_group="00400F" mail_retail="MAIL">
    <admin_fee>0.76</admin_fee>
    <processing_fee>1.83</processing_fee>
  </fees>
  <fees member_group="00400F" mail_retail="RETAIL">
    <admin_fee>1.335</admin_fee>
    <processing_fee>1.645</processing_fee>
  </fees>
  <fees member_group="00460G" mail_retail="MAIL">
    <admin_fee>0.88</admin_fee>
    <processing_fee>1.18</processing_fee>
  </fees>
...

И мой код:

import xml.etree.ElementTree as xml
tree = xml.parse('/data/fees.xml')
root = tree.getroot()
out={}
inn={}
for child in root:
    group=child.attrib['member_group']
    mail=child.attrib['mail_retail']
    out.setdefault(group,inn) 
    inn.setdefault(mail,{'admin_fee':0,'processing_fee':0})
    out[group][mail]['admin_fee']=child[0].text
    out[group][mail]['processing_fee']=child[1].text
print(out)

Я хочу вычислить admin_fee и processing_fee для каждой группы участников. Но результат дает каждой группе участников одинаковое значение. Как я могу исправить свой код?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...