Ключевое слово как аргумент для создания файла XML - PullRequest
0 голосов
/ 02 мая 2019

Итак, я хочу создать XML-файл, и один из атрибутов, который мне нужно добавить, называется «from».Когда я хочу добавить это, я, очевидно, получаю ошибку «ключевое слово не может быть выражением».Что я должен сделать, чтобы сделать эту работу?

routes = ET.Element("routes")
for i,f in df.iterrows():
    flow = ET.SubElement(routes, "flow", id=str(i), from=f["source"], to = f["sink"])

Вывод должен выглядеть так:

<routes>
  <flow id="0" from="A" to="B"></flow>
  <flow id="1" from="B" to="C"></flow>
  ...
</routes>

Ответы [ 2 ]

0 голосов
/ 02 мая 2019

ET.SubElement принимает attrib кварга специально для этого варианта использования:

flow = ET.SubElement(routes, "flow", attrib={'id': str(i),
                                             'from': f["source"],
                                             'to': f["sink"]})
0 голосов
/ 02 мая 2019

Попробуйте это:

flow = ET.SubElement(
    routes, 
    "flow", 
     **{
        "id": str(i), 
        "from": f["source"], 
        "to": f["sink"]
     }
)
...