Python 通过遍历文件名称统计作业提交情况

在进行作业收取时对大量作业的统计是一件很麻烦的事情

总有一些人存在不规范命名的情况

本文通过Python代码实现了对作业收取情况的自动化统计。

通过统计学号倒数第三位分类了班级

删了无用字符与中文不规范的格式

通过对字符串性质的判断,可以将命名不规范的文件名字筛选出来

import os
from openpyxl import Workbook


def is_supported_file(file_path):
    # 获取文件扩展名
    file_extension = os.path.splitext(file_path)[1].lower()
    # 判断文件扩展名是否为.docx、.pdf或.doc
    if file_extension == ".docx" or file_extension == ".pdf" or file_extension == ".doc":
        return True
    else:
        return False

# 指定文件夹路径
folder_path = "储存文件的文件夹路径"

# 创建Excel工作簿
workbook = Workbook()
sheet = workbook.active
sheet.title = "测控一班"

sheet1 = workbook.create_sheet(title="测控二班")
sheet2 = workbook.create_sheet(title="测控三班")
sheet3 = workbook.create_sheet(title="提交总数")
sheet4 = workbook.create_sheet(title="未按学号+姓名命名")
num=[0,0,0,0]


# 遍历文件夹中的文件名称
for filename in os.listdir(folder_path):
    # 可以根据需要添加筛选条件,如文件类型判断等
    if os.path.isfile(os.path.join(folder_path, filename)):
        # 将文件名称写入Excel表格
        if is_supported_file(os.path.join(folder_path, filename)):
           
           if filename[0:11].isdigit():#判断是否规范命名
              name_valid = filename[8:11]
              if name_valid[0] == "1":
                 sheet.append([name_valid])
                 num[0]+=1
              elif name_valid[0] == "2":
                 sheet1.append([name_valid])
                 num[1]+=1
              elif name_valid[0] == "3":
                 sheet2.append([name_valid])
                 num[2]+=1
           else:
               sheet4.append([filename])
               num[3]+=1

#写入提交总数
sheet.append(["已交:",str(num[0])])
sheet1.append(["已交:",str(num[1])])
sheet2.append(["已交:",str(num[2])])
sheet3.append(["已交:",str(sum(num))])
sheet4.append(["已交:",str(num[3])])

# 保存Excel文件
workbook.save("路径+作业提交结果.xlsx")

统计结果

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值