会员可以在此提问,百战程序员老师有问必答
对大家有帮助的问答会被标记为“推荐”
看完课程过来浏览一下别人提的问题,会帮你学得更全面
截止目前,同学们一共提了 132837个问题
Python 全系列/第八阶段:轻量级Web开发利器-Flask框架/Flask数据库 19772楼
JAVA 全系列/第一阶段:JAVA 快速入门/飞机大战小项目训练 19773楼
JAVA 全系列/第二阶段:JAVA 基础深化和提高/容器(旧) 19775楼
JAVA 全系列/第三阶段:数据库编程/MySQL数据库 19777楼
JAVA 全系列/第三阶段:数据库编程/JDBC技术 19779楼
JAVA 全系列/第十一阶段:智能家居项目(旧)/至尊智能家居第一天 19780楼
Python 全系列/第一阶段:Python入门/Python入门(动画版) 19781楼

代码已经把老师的复制过来运行了,结果还是报这个错误,问题出在了哪里

data01.xlsx

import xlrd
from xlutils.copy import copy

def read_data():
    wb = xlrd.open_workbook('data01.xlsx')
    sh = wb.sheet_by_index(0)
    fen_type = {}       # {a:110,b:300}
    count_price = []    # [1,2,3,4,5,6]

    for r in range(sh.nrows):
        count = sh.cell_value(r,3) * sh.cell_value(r,4)
        count_price.append(count)
        key = sh.cell_value(r,0)
        if fen_type.get(key):
            fen_type[key] += count
        else:
            fen_type[key] = count
    return fen_type,count_price # 各分类的总价值, 每个单品的总价值

def save(fen,count):
    wb = xlrd.open_workbook('data01.xlsx')
    sh_t = wb.sheet_by_index(0)
    wb2 = copy(wb)
    sh = wb2.get_sheet(0)
    for r in range(sh_t.nrows):
        sh.write(r,sh_t.ncols,count[r])
    
    sh2 = wb2.add_sheet('汇总的数据')
    for i,key in enumerate(fen.keys()):
        sh2.write(i,0,key)
        sh2.write(i,1,fen.get(key))
    wb2.save('05_汇总数据.xlsx')

if __name__ == "__main__":
    f,c = read_data()
    save(f,c)

151.png

Python 全系列/ 第十三阶段:自动化操作办公软件、邮件、定时任务等/自动化操作办公软件、邮件、定时任务等 19782楼
Python 全系列/第二阶段:Python 深入与提高/异常机制 19785楼

课程分类

百战程序员微信公众号

百战程序员微信小程序

©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园
网站维护:百战汇智(北京)科技有限公司
京公网安备 11011402011233号    京ICP备18060230号-3    营业执照    经营许可证:京B2-20212637