问题背景
今天遇到一个小任务,根据学校整个电力系一个学期的各科成绩表,计算出每个人的学分绩。数据共有5000+条,每条数据代表每个人每一科的成绩,由于每个人的考试科目数量不一,并且存在不参与学分绩计算的任选课,直接使用excel无法达成目的。经过考虑使用python3脚本计算学分绩。
一.安装库
首先安装读写excel的两个库
写入excel库
pip install xlwt
读取excel库
pip install xlrd
二.读取excel文件测试
# 打开excel文件
input_data = xlrd.open_workbook('score.xlsx')
# 打开文件中的指定工作表,索引从0开始
score_sheet = input_data.sheet_by_index(0)
# 获取总数据条数
n = score_sheet.nrows
# 循环读取指定单元格内容
for row_num in range(1, n):
# 参数为行号,列号,读取到的数据根据单元格格式不同,可能是字符串或者数字
name = score_sheet.cell_value(row_num,1)
# 根据数据进行逻辑判断等···
三.写入excel文件测试
# 新建文件
result_book = xlwt.Workbook()
# 添加工作表
result_sheet = result_book.add_sheet('Result Sheet')
# 用于写入表头的方法,参数为行号,列号,内容,序号从0开始
def writeTitle(result_sheet):
result_sheet.write(0, 0, '学生学号')
result_sheet.write(0, 1,