问题是这样的, 我是我们学校的寒招队伍的负责人。但是管理的人数实在是太多了。所以在这个地方的,我就想用下脚本去帮助自己进行管理。从效果来看,还是非常方便的。
故事情节:
这次,我和两三个小伙伴们要一起先举办个去全员大会。但是本来会议人员数量简直都快超过了300人。而且由于会议举办的时间有点特殊,所以有很多人请假。这些学生来自于不同的高中,就算是在同一个高中,由于我们学校的的校区比较分散,所以在也有可能有参与会议的情况有不同(可以理解为在不同校区各有一场)。
问题需求:
- 会议签到
- 没有请假的人数统计,得到对应名单
- 对于那些既没有请假,也没有参加全员大会的同学进行统计
不多说,直接上代码。但是里面的那些文字地方,大家还是要改成对应的地址。然后,这是一个可以直接用的代码,
import xlrd
import xlwt
Break_page = xlrd.open_workbook("自己写下这个文件的准确地址")
Break_table = Break_page.sheet_by_index(0)
Break_value = Break_table.col_values(0)
print(len(Break_value))
# Break_page.close()
Mem_page = xlrd.open_workbook("自己写下这个文件的准确地址")
Mem_table = Mem_page.sheet_by_index(0)
Mem_value = Mem_table.col_values(0)
planShool = Mem_table.col_values(3)
Mem_value = Mem_value[1:]
planShool = planShool[1:]
print(len(Mem_value))
# Mem_page.close()
take_part_in = xlrd.open_workbook("自己写下这个文件的准确地址")
take_part_in_table = take_part_in.sheet_by_index(0)
take_part_in_value = take_part_in_table.col_values(6)
take_part_in_value = take_part_in_value[1:]
last_mem = []
last_mem_school = []
for i in range(len(Mem_value)):
if Mem_value[i] in Break_value:
continue
else:
last_mem.append(Mem_value[i])
last_mem_school.append(planShool[i])
# for mem_ in Mem_value:
# if mem_ in Break_value:
# continue
# else:
# last_mem.append(mem_)
work_book = xlwt.Workbook("自己写个地址加个'/'")
sheet = work_book.add_sheet('sheet 1')
for i in range(len(last_mem)):
sheet.write(i, 0, last_mem[i])
work_book.save("未请假同学.xls")
# print(last_mem)
still_not_come = []
still_not_come_school = []
# for mem in last_mem:
# if mem in take_part_in_value:
# continue
# else:
# still_not_come.append(mem)
for i in range(len(last_mem)):
if last_mem[i] in take_part_in_value:
continue
else:
still_not_come.append(last_mem[i])
still_not_come_school.append(last_mem_school[i])
work_book2 = xlwt.Workbook("自己写个地址")
sheet2 = work_book2.add_sheet('sheet 1')
for i in range(len(still_not_come)):
sheet2.write(i, 0, still_not_come[i])
sheet2.write(i, 1, still_not_come_school[i])
work_book2.save("没请假也没来的同学.xls")