import os
import time
import xlwt
import xlrd
import tkinter as tk
from tkinter import filedialog
def findAllFile(base):
for root, ds, fs in os.walk(base):
for f in fs:
yield f
def main():
root = tk.Tk()
root.withdraw()
print('欢迎使用七月作业统计程序(结果仅供参考)')
print('作者博客https://blog.csdn.net/xiaobai_July')
print('=======================================================')
print('选择名单模板excel文件')
Filepath = filedialog.askopenfilename()
time.sleep(2)
print('请输入你的班级 1(一班)2(二班)')
classnum=input()
print('选择作业文件夹路径')
Folderpath = filedialog.askdirectory()
time.sleep(1)
count=0
num_name={}
submit_list=[]
submit_list2=[]
xlrds = xlrd.open_workbook(Filepath)
table = xlrds.sheet_by_index(0)
rows = table.nrows
keys = []
values = []
for i in range(1, rows):
keys.append(table.cell(i, 0).value)
values.append(table.cell(i, 1).value)
num_name = dict(zip(keys, values))
for i in findAllFile(Folderpath):
for a in num_name:
if i.split("20201020"+classnum)[1][0:2]==a:
submit_list.append(a+''+num_name[a])
submit_list2.append(a)
count += 1
for key in list(num_name.keys()):
for i in submit_list2:
if key==i:
del num_name[key]
continue
print('共提交',count,'份作业')
print('\n')
print('提交名单',submit_list)
print('\n')
print('未交', len(num_name),'人')
print('\n')
print('名单',list(num_name.values()))
print('\n')
print('是否生成excel文件?1是2否')
flag = input()
if flag=='1':
print('生成完毕,请在和本程序同级目录查看')
f = xlwt.Workbook()
sheet1 = f.add_sheet('未交作业名单', cell_overwrite_ok=True)
col1 = sheet1.col(0)
col1.width = 256 * 38
for i in range(0, len(list(num_name.keys()))):
sheet1.write(i, 0, list(num_name.values())[i])
f.save('未交作业名单.xls')
else:
print('取消生成,2s后退出')
time.sleep(2)
if __name__ == '__main__':
main()
转载请注明原文地址:https://blackberry.8miu.com/read-40409.html