xlrd模块、xlwt模块综合练习

xlrd模块、xlwt模块综合练习
实验内容:
1.创建名称为“成绩单.xls”工作簿,新建一张工作表,表的名称为”01班成绩表”。
2.将学生的成绩写入到“01班成绩表”中。
3.读出每个学生的成绩,并计算每个学生成绩的总分。
4.读出单科的成绩,并计算单科成绩的平均分。
在这里插入图片描述

import xlwt
workbook = xlwt.Workbook()
mySheet = workbook.add_sheet("01班成绩表")
headers=['姓名','语文','数学','英语']
scores=[('李思聪',56,99,96),
                ('李建林',98,100,93),
                ('马风',94,95,95),
                ('张小某',90,98,92),
                ('陈开歌',95,91,96),
                ('冯大刚',99,99,95.3),
                ('赵小薇',96,100,91)
                ]
for cols, header in enumerate(headers):
    mySheet.write(0, cols, header)
for row, scores in enumerate(scores):
    for cols, score in enumerate(scores):
        mySheet.write(row+1, cols, score)
workbook.save("成绩单.xls")
#总分,平均分
import xlrd
import xlwt
myWorkbook = xlrd.open_workbook("成绩单.xls")
rsheet = myWorkbook.sheet_by_name('01班成绩表')
r_nrows = rsheet.nrows
r_ncols = rsheet.ncols
rsheet.put_cell(0, r_ncols,xlrd.XL_CELL_TEXT,'总分',None)
for row in range(1, r_nrows):
    grades = rsheet.row_values(row, 1, r_ncols)
    total = sum(grades)
    rsheet.put_cell(row, 4, xlrd.XL_CELL_NUMBER,total,None)
rsheet.put_cell(rsheet.nrows, 0, xlrd.XL_CELL_TEXT,'平均分',None)
for col in range(1, r_ncols+1):
    grades = rsheet.col_values(col, 1, r_nrows)
    avg = sum(grades) / len(grades)
    rsheet.put_cell(r_nrows, col, xlrd.XL_CELL_NUMBER, avg, None)
wwb = xlwt.Workbook()
wSheet = wwb.add_sheet("班级1",)
w_nrows = rsheet.nrows
w_ncols = rsheet.ncols
for row in range(0,w_nrows):
    for cols in range(0,w_ncols):
        wSheet.write(row, cols, rsheet.cell_value(row,cols))  # 从内存中获取成绩并写入wSheet中
wwb.save('abc.xls')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值