使用ElementTree解析XML - python

时间:2016-11-17 03:32:20

标签: python xml elementtree

我有一个XML文件,我用ElementTree解析了数据。但是,我想解析数据并将其设置为等于变量,然后我可以将其输出到.csv文件。

以下是XML文件的snipet:

<Item ID="productID" TableID="itemvp">
<ItemField TableFieldID="name" Value="totally awesome product"/>
<ItemField TableFieldID="code" Value="product code"/>
<ItemField TableFieldID="dimensions" Value="34&quot;W x 65&quot;D x 39&quot;H"/>
<ItemField TableFieldID="caption" Value="description"/>
<ItemField TableFieldID="upc" Value="upc code"/>
<ItemField TableFieldID="sale-price" Value="2599.95"/>
</Item>

这是我到目前为止所做的:

root = tree.getroot()
for child in root.iter('ItemField'):
    print child.attrib

以下列格式打印出数据:

{'TableFieldID': 'name', 'Value': 'totally awesome product'}

这基本上是一本字典。我无法弄清楚的是如何解析它以便我可以将“name”(非常棒的产品)的值设置为名为“productName”的变量。关于如何做到这一点的任何想法?最终结果是以.csv。

导出此数据

1 个答案:

答案 0 :(得分:0)

在您的循环中,检查TableFieldID是否为name,然后将productName变量设置为Value

for child in root.iter('ItemField'):
    if child.attrib['TableFieldID'] == 'name':
        productName = child.attrib['Value']