python elementtree - 获得平均值

时间:2014-06-26 21:58:07

标签: python

在python中使用元素树,我希望得到一个平均值。

以下是我的数据

Order A has a quantity of 12,10,and 5.. total is 27
Order B has a quantity of 9 and 40... total is 49
Order C has a quantity of 10,35, and 15.. total is 60  

当你总计他们然后除以3,我应该得到45.33。但是在我下面的代码中,我得到了20 :(我从XML文件中提取上述数据。请帮我识别代码中的问题。谢谢。

import xml.etree.ElementTree as ET
root = ET.ElementTree(file="nwind_medium.xml")

orders = root.findall("./orders")
for order in orders:
    orderdetails = order.findall("./orderdetails")
    total = 0
    for detail in orderdetails:
        quantity = detail.findall("./quantity")
        total += float(quantity[0].text)
numberOrders = len(orders)

print "The average number of itmes in order is", round((total / numberOrders),2)

这里是整个XML文件(已更新) - - - Vins et alcools Chevalier VINET - - 72 Mozzarella di Giovanni 34.8 5 - 14 Formaggi Fortini s.r.l. - - 11 Queso Cabrales 14 12 - 5 Cooperativa de Quesos' Las Cabras' - - 42新加坡人福建炒面9.8 10 - 20 Leka Trading - - Toms Spezialitaten TOMSP - - 14 Tofus 18.6 9 - 6 Mayumi& - 39 - - Manjimup干苹果42.4 40 - 24 G' day,Mate - - Hanari Carnes HANAR - - 65路易斯安那州火热辣椒酱16.8 15 - 2新奥尔良Cajun Delights - - 41 Jack's New England Clam Chowder 7.7 10 - 19新英格兰海鲜罐头厂 - - 51 Manjimup干苹果42.4 35 - 24 G& #39; day,Mate

1 个答案:

答案 0 :(得分:0)

您正在通过订单重置每次迭代的总计。如果您需要移动所有订单的总数

total = 0

在外循环之前。