У меня есть файл svg, который был сгенерирован программным обеспечением для отображения данных карты «Картограф». Он содержит большое количество путей, представляющих области на карте. Эти пути у каждого есть несколько полей данных:Как изменить атрибуты SVG-файла из Python?
<path d=" ...path info... " data-electorate="Canberra" data-id="Canberra" data-no="23" data-nop="0.92" data-percentile="6" data-state="ACT" data-totalvotes="25" data-yes="2" data-yesp="0.08" id="Canberra"/>
Так что я не должен создавать новый файл SVG каждый раз, когда я хочу, чтобы изменить некоторые атрибуты, такие как количество «да» голосов, в рамках питон. В частности, я хотел бы увеличить/увеличить значение «да» голосов на единицу (для каждого исполнения кода).
Я попытался LXML и просмотрел документацию для него широко, но до сих пор этот код не работает:
from lxml import etree
filename = "aus4.svg"
tree = etree.parse(open(filename, 'r'))
for element in tree.iter():
if element.tag.split("}")[1] == "path":
if element.get("id") == "Lingiari":
yes_votes = element.get("data-yes")
print(yes_votes)
yes_votes.set(yes_votes, str(int(yes_votes) + 1))
print(yes_votes)
Является ли питона лучший инструмент использовать для решения этой задачи? Если да, то как я могу изменить вышеуказанный код или начать заново. Извиняюсь за любую путаницу. Я новичок в этом модуле «lxml» и svg-файлах, поэтому я немного потерян.
Спасибо, что сработало. Извините за глупый вопрос - я боролся какое-то время и, очевидно, имел немного мозгового пердуна, не обращая на это внимания. – urbanscape