對Python和xml都是新的。看了以前的帖子,我不知道如何做到我需要的東西。原則上它似乎很簡單。用python解析XML文件的一部分
<Project>
<Items>
<Item>
<Code>A456B</Code>
<Database>
<Data>
<Id>mountain</Id>
<Value>12000</Value>
</Data>
<Data>
<Id>UTEM</Id>
<Value>53.2</Value>
</Data>
</Database>
</Item>
<Item>
<Code>A786C</Code>
<Database>
<Data>
<Id>mountain</Id>
<Value>5000</Value>
</Data>
<Data>
<Id>UTEM</Id>
<Value></Value>
</Data>
</Database>
</Item>
</Items>
</Project>
我想要做的就是提取所有的代碼,值和ID,這是沒有問題的。
import xml.etree.cElementTree as ET
name = 'example tree.xml'
tree = ET.parse(name)
root = tree.getroot()
codes=[]
ids=[]
val=[]
for db in root.iter('Code'):
codes.append(db.text)
for ID in root.iter('Id'):
ids.append(ID.text)
for VALUE in root.iter('Value'):
val.append(VALUE.text)
print codes
print ids
print val
['A456B', 'A786C']
['mountain', 'UTEM', 'mountain', 'UTEM']
['12000', '53.2', '5000', None]
我想知道哪些Ids和值與哪個代碼一起使用。像詞典字典可能或者可能是一個DataFrame的列表,其中行索引是Id,列標題是Code。
例如
A456B = {山:12000,UTEM:53.2}
A786C = {山:5000,UTEM:無}
最後,我要使用的值養活的方程。
請注意,真正的xml文件在每個代碼中可能不包含相同數量的ID和值。另外,Id和Value可能不同於一個代碼段到另一個代碼段。
很抱歉,如果這個問題是基本的,或不清楚......我只是一直在做蟒一個月:/
非常緊湊!在我的真正的XML文件上工作得很好。 TY! – cmj29607