'''
有一个存着学生成绩的文件,里面存的是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')