呜啊
import os
import re
import pandas as pd
def duquyigeshiyan(root="", student_all=None,is_191=False,shiyanxvhao=None):
a = os.listdir(root)
students_jiaoleshiyan = []
students_weijiaoshiyan = []
print("学生名单:")
for i in a:
try:
student = re.split("[ _—-]", i)[1]
except Exception as e:
print(e)
exit(1)
students_jiaoleshiyan.append(student)
print("文件夹下文件数量", len(a), "== 交了实验学生数量 ", len(students_jiaoleshiyan))
for i in student_all:
if i not in students_jiaoleshiyan:
students_weijiaoshiyan.append(i)
if is_191:
df_1.loc[df_1["姓名"]==i,f"实验{shiyanxvhao}"]=shiyanxvhao
else:
df_2.loc[df_2["姓名"]==i,f"实验{shiyanxvhao}"]=shiyanxvhao
df_1.to_excel("./计科191名单.xlsx",index=False)
df_2.to_excel("./计科192名单.xlsx",index=False)
students_bushizhegeban=[]
for i in students_jiaoleshiyan:
if i not in student_all:
students_bushizhegeban.append(i)
print("*" * 10)
print("实验结果:")
print(f"实验{root},共有学生{len(student_all)}人,其中交了实验有{len(students_jiaoleshiyan)}人,未交实验{len(students_weijiaoshiyan)}人")
print(f"未交实验名单:{students_weijiaoshiyan}")
print(f"不是这个班的学生名单:",students_bushizhegeban)
def huoquxueshengbanji():
df_1 = pd.read_excel("./计科191名单.xlsx")
name_191 = list(df_1["姓名"])
df_2 = pd.read_excel("./计科192名单.xlsx")
name_192 = list(df_2["姓名"])
return name_191, name_192
if __name__ == "__main__":
df_1 = pd.read_excel("./计科191名单.xlsx")
df_2 = pd.read_excel("./计科192名单.xlsx")
name_191, name_192 = huoquxueshengbanji()
for i in range(1,7):
duquyigeshiyan(f"./0提交/191/计算机视觉实验{i}",shiyanxvhao=i,student_all=name_191,is_191=True)
duquyigeshiyan(f"./0提交/192/计算机视觉实验{i}",shiyanxvhao=i,student_all=name_192,is_191=False)