import xlrd,xlwt
from xlutils.copy import copy
#读取excel
def read_excel():
#打开excel文件
read_wb = xlrd.open_workbook('./creat_excel/08count_data.xlsx')
#获取工作簿
read_ws = read_wb.sheet_by_index(0)
#遍历数据集
#统计
count_price = []#各水果总价列表
fen_type = {} #各品级水果总价字典
for r in range(1,read_ws.nrows):
count = read_ws.cell_value(r,2)*read_ws.cell_value(r,3)
count_price.append(count)
key = read_ws.cell_value(r,0)
fen_type[key] = count
if fen_type.get(key):
fen_type[key] += count
else:
fen_type[key] = count
return count_price,fen_type
#保存数据
def save_excel(count,fen):
#打开excel文件
read_wb = xlrd.open_workbook('./creat_excel/08count_data.xlsx')
read_ws = read_wb.sheet_by_index(0)
#复制并修改
new_wb = copy(read_wb)
new_ws = new_wb.get_sheet(0)
#总价计算
for r in range(1,read_ws.nrows):
new_ws.write(r,4,count[r-1])
#创建单独工作表
new_ws2 = new_wb.add_sheet('汇总数据')
for i,key in enumerate(fen.keys()):
_type = key
data = fen.get(key)
#汇总类和总价
new_ws2.write(i,0,key)
new_ws2.write(i,1,data)
#保存数据
new_wb.save('./creat_excel/09count_data.xlsx')
if __name__=='__main__':
c,f = read_excel()
save_excel(c,f)
执行结果
汇总结果不正确