1、需求
该文是一个群友找到我,然后让我做的,要求我下午两点之前提交给他。题目并不难,只有一个要求:必须使用openpyxl操作。这个可以当作是一个项目练手,正好是对那个自动化文章的一个检验。
对话如下:
需求如下:
原始数据如下:
2、python代码
from openpyxl import load_workbook from openpyxl import Workbook # 1、读取数据 workbook = load_workbook(filename = "作业-原始成绩.xlsx") workbook.sheetnames sheet = workbook["Sheet1"] # sheet.dimensions查看表格的维度 cell = sheet["A2:G27"] # 2、提取表格中的数据 y = [] for i in cell: x = [] for j in i: x.append(j.value) xx = x[:1]+x[4:] y.append(xx) # 3、清洗数据,将清洗好的数据写入表格 # 新建一个空白的excel表格 workbook = Workbook() sheet1 = workbook.active sheet1.title = "表格1" sheet1.append(["学号","姓名","检测","讨论","成绩"]) # 数据清洗 for xx in y: # 提取学号 xuehao = xx[0][5:16] # 提取姓名 name = xx[0][16:] # 提取检测 test = float(xx[1]) # 提取套论 taolun = xx[2] if taolun == "-": taolun = 0 else: taolun = float(xx[2]) # 提取成绩 score = float(xx[3]) final = [xuehao, name, test, taolun, score] # 将最终的数据一行行的写入到excel中 sheet1.append(final) # 将数据写入到excel后,必须保存,否则前面的操作前功尽弃 workbook.save(filename = "作业.xlsx")
效果如下: