zl程序教程

您现在的位置是:首页 >  Python

当前栏目

刚学完python自动化系列文章,就接了一单任务

2023-03-20 14:41:11 时间

如果觉得文章写得好,如果你想要博客文章中的数据,请关注公众号:【数据分析与统计学之美】,添加作者【个人微信】,进群和作者交流!

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

效果如下: