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')

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM