• python练习题--计算总分平均分操作excel


    '''
    有一个存着学生成绩的文件,里面存的是json串,json串读起来特别不直观,需要你写代码把它都写到excel中,并计算出总分和平均分,json格式如下
    {
       "1":["小花",99,100,98.5],
       "2":["小王",90,30.5,95],
       "3":["小明",67.5,49.6,88]
    }
    分析:
    1、json需要读出来编程字典json.load
    2、写进excel里面那么就可以把字典中的values读取出来是一个 list然后把key再插入到values中  insert(0,k)
    3、要计算总分和平均分那么就把后面的成绩切片出来然后sum、sum/len()
    4、最后把所有的值写到excel中
    '''
    import json
    from xlwt import Workbook
    f = open('score.json',encoding='utf-8')
    score_list = json.load(f)   #把json转成字典
    # print(score_list)
    book = Workbook()
    sheet = book.add_sheet('sheet1')
    #处理表头
    title_list = ['学号','姓名','语文成绩','数学成绩','英语成绩','总分','平均分']
    i = 0
    for j in title_list:
        sheet.write(0,i,j)
        i+=1
    line = 1   #控制行
    for k in score_list:
        res_list = score_list[k]
        rea_list = res_list.insert(0,k)  #把k插入到里面的list里为以后计算总分和平均分以及写excel准备
        # print(res_list)
        q_list = res_list[2:]
        sum_list = sum(q_list)                    #取总分
        avg_list = round(sum_list/len(q_list),2)  #取平均分留两位小数
        # print(sum_list,avg_list)
        res_list.append(sum_list)
        res_list.append(avg_list)
        li=0
        for h in res_list:
            sheet.write(line,li,h)        
            li += 1
        line+=1
    book.save('score.xls')
  • 相关阅读:
    Java 图片处理——如何生成高清晰度而占有磁盘小的缩略图
    Java文件IO操作应该抛弃File拥抱Paths和Files
    什么是内存(一):存储器层次结构
    mysql 锁
    Mysql索引面试题
    node.js中对同步,异步,阻塞与非阻塞的理解
    mysql 快照读 当前度
    mysql 联合索引
    redis 分布式锁(单机)
    docker 环境搭建redis集群相关问题
  • 原文地址:https://www.cnblogs.com/lingxia/p/7866615.html
Copyright © 2020-2023  润新知