Python假设现在有一个目录下面存放着同学们交上来的作业文件,文件命名不规范,但文件名中一定包含姓名。请根据班级名单文件(一个excel表,包含学号和姓名两列数据), 编写程序输出未交作业同学的名单。
时间: 2024-10-25 20:16:52 浏览: 55
首先,我们需要安装一些必要的库来处理Excel文件和目录操作,如pandas用于读取和处理Excel数据,os和shutil用于文件和目录操作。以下是Python的一个简单示例,说明如何实现这个功能:
```python
import pandas as pd
import os
# 1. 读取班级名单 Excel 文件
def read_class_list(filename):
class_list = pd.read_excel(filename)
return class_list.set_index('姓名') # 设置姓名作为索引以便快速查找
# 2. 获取作业目录下的所有文件名,忽略非姓名部分
def get_student_files(directory):
student_files = [f for f in os.listdir(directory) if '_' in f] # 假设名字后有下划线分隔
names = [f.split('_')[0] for f in student_files]
return names
# 3. 检查并输出未交作业的同学名单
def check_unsubmitted_students(class_list, student_files):
unsubmitted_students = set(class_list.index) - set(student_files)
return unsubmitted_students
# 综合步骤
class_list_file = 'class_list.xlsx'
student_directory = 'student_submissions'
unsubmitted_students = check_unsubmitted_students(read_class_list(class_list_file), get_student_files(student_directory))
for student in unsubmitted_students:
print(f"{student} 未提交作业")
阅读全文
相关推荐














