gpt4 book ai didi

python - 使用 Python 查找和更改 XML 文件中的属性

转载 作者:太空宇宙 更新时间:2023-11-03 21:46:08 25 4
gpt4 key购买 nike

我一直在试图弄清楚如何使用百分比变化和范围 -90 < percentChange < 100 来更改植物“希腊缬草”的价格。 。

我可以找到并手动更改姓名和号码,我只是不知道如何使用百分比变化,并且正在使用 Py Charm 社区版。 outputt.xml我的代码中的 file 是我正在写入更改的第二个文件。

我的 XML 片段是:

<PLANT>    
<COMMON>Greek Valerian</COMMON>
<BOTANICAL>Polemonium caeruleum</BOTANICAL>
<ZONE>Annual</ZONE>
<LIGHT>Shade</LIGHT>
<PRICE>4.36</PRICE>
<AVAILABILITY>071499</AVAILABILITY>
</PLANT>
<PLANT>
<COMMON>California Poppy</COMMON>
<BOTANICAL>Eschscholzia californica</BOTANICAL>
<ZONE>Annual</ZONE>
<LIGHT>Sun</LIGHT>
<PRICE>7.89</PRICE>
<AVAILABILITY>032799</AVAILABILITY>
</PLANT>

到目前为止我得到的Python3代码是:

import xml.etree.ElementTree as ET

with open('plant_catalog.xml', encoding='latin-1') as f:
tree = ET.parse(f)
root = tree.getroot()

for elem in root.getiterator():
try:
elem.text = elem.text.replace('4.36', '5')
except AttributeError:
pass
tree.write('outputt.xml', encoding='latin-1')

谁能帮我解决这个问题吗?

最佳答案

只需将价格更改为

current_price*(1+percentChange/100)

首先找到您感兴趣的植物:

for plant in root.iter('COMMON'):
if plant.text!='Greek Valerian':
continue
else:
price = None
for i in range(4):
price = plant.getnext()
price.text = str(float(price.text)*(1+percentChange/100))

关于python - 使用 Python 查找和更改 XML 文件中的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52487538/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com