根据排名名单和报名名单,重新生成Excel

前言

由于前段时间举办的第四届程序设计比赛,OJ导出排名只有团队名字没有团队成员对于后期台账整理是否不便。具体情况如图...

代码


from openpyxl import load_workbook

wb = load_workbook('E:\\python\\max工作室\\比赛排名.xlsx')
ws = wb.active

wb2 = load_workbook('E:\\python\\max工作室\\考场安排.xlsx')
ws2 = wb2.active

wb3 = load_workbook('E:\\python\\max工作室\\工作簿1.xlsx')
ws3 = wb3.active
# 排名
k = 1
# wb3_row 整理结果.xlsx行
wb3_row = 1
for i in range(2, 145):
    # 获取排名的队伍名
    ranking = ws['B' + str(i) + ''].value
    # FindTeam在报名表中的编号
    FindTeam = int(ranking[4:])*3
    for j in range(1,4):
        print('正在获取排名第' + str(i) + '队, 团队名为'+ranking+' —— 第' + str(j) + '个队友的信息')
        # 排名
        ws3.cell(row=wb3_row, column=1, value=k)
        # 团队编号
        ws3.cell(row=wb3_row, column=2, value=ranking)
        # 学号
        ws3.cell(row=wb3_row, column=3, value=ws2['C' + str(FindTeam) + ''].value)
        #姓名
        ws3.cell(row=wb3_row, column=4, value=ws2['D' + str(FindTeam) + ''].value)
        # 电话
        ws3.cell(row=wb3_row, column=5, value=ws2['E' + str(FindTeam) + ''].value)
        # 专业
        ws3.cell(row=wb3_row, column=6, value=ws2['F' + str(FindTeam) + ''].value)
        FindTeam = int(FindTeam) + 1
        wb3_row += 1
    k += 1
wb3.save('E:\\python\\max工作室\\工作簿1.xlsx')

点赞

发表评论

电子邮件地址不会被公开。必填项已用 * 标注