Python总结excel文件

我有一个Excel文件,有3列。
请例如下面

Name Produce Number Adam oranges 6 bob Apples 5 Adam Apples 4 steve Peppers 7 bob Peppers 16 Adam oranges 5 

我需要以这种方式在Python中产生总和

 Name Produce Number Adam oranges 11 bob apples 5 steve peppers 7 etc 

我是新来的python,并试图找出如何编写每个人总数的输出? 有没有一种简单的方法来从Excel中收集这些数据?

这是它的代码:

如果您有任何疑问(或者如果我犯了错误),请务必查看评论并回传到这里。

 import csv file = open('names.csv', "rb") #Open CSV File in Read Mode reader = csv.reader(file) #Create reader object which iterates over lines class Object: #Object to store unique data def __init__(self, name, produce, amount): self.name = name self.produce = produce self.amount = amount rownum = 0 #Row Number currently iterating over list = [] #List to store objects def checkList(name, produce, amount): for object in list: #Iterate through list if object.name == name and object.produce == produce: #Check if name and produce combination exists object.amount += int(amount) #If it does add to amount variable and break out return newObject = Object(name, produce, int(amount)) #Create a new object with new name, produce, and amount list.append(newObject) #Add to list and break out for row in reader: #Iterate through all the rows if rownum == 0: #Store header row seperately to not get confused header = row else: name = row[0] #Store name produce = row[1] #Store produce amount = row[2] #Store amount if len(list) == 0: #Default case if list = 0 newObject = Object(name, produce, int(amount)) list.append(newObject) else: #If not... checkList(name, produce, amount) rownum += 1 for each in list: #Print out result print each.name, each.produce, each.amount file.close() #Close file 

一旦打开Excel文件,应该非常简单。 如果它保存为.csv文件,请使用以下文档: http : //docs.python.org/library/csv.html

使用这个链接,然后遍历logging,并获得每个名称和types的总和: http : //www.linuxjournal.com/content/handling-csv-files-python

1)用http://pypi.python.org/pypi/xlrd阅读Excel文件

2)迭代logging,并在字典( 自定义types的对象作为字典键 )中使用组合键(Name,Produce)来累加和