diff --git a/工具v4/database_tools_2.py b/工具v4/database_tools_2.py index e04dd087..7b87d999 100644 --- a/工具v4/database_tools_2.py +++ b/工具v4/database_tools_2.py @@ -4,6 +4,7 @@ import numpy as np import pyperclip import mysql.connector import tqdm +import zipfile,shutil BuildFullScheme = { @@ -3298,6 +3299,32 @@ def findxiaobenIDs(jsonpath,grade = ""): #根据jsonpath中的校本材料获取 return jsonIDs +def generateUsagedetail(zipfilepath,tempdir,answersheetseekingpath,statsfilename,threshold,date): #根据zipfilepath文件路径, threshold最低提交比例阈值, date日期产生对应一张答题纸的使用记录 + try: + shutil.rmtree(tempdir) + except: + pass + makedir(tempdir) + # try: + xiaoxianpid = ParseZipname(zipfilepath) + paperinfo = FindPaper(xiaoxianpid, answersheetseekingpath) + if type(paperinfo) == bool: + print("!!!!!",zipfilepath) + return 1 + else: + gradename = paperinfo[1] + idlist = paperinfo[2] + excludejson = paperinfo[4] + print(paperinfo) + zf = zipfile.ZipFile(zipfilepath) + zf.extractall(tempdir) #解压zip文件中的所有内容到tempdir + statsfilepathlist = FindFile(tempdir,statsfilename) + validcols,marks = generateColIndexandMarks(statsfilepathlist,statsfilename,paperinfo) + dfcurrent = pd.read_excel(os.path.join(statsfilepathlist[0],statsfilename)) + correspondence_dict = generateIDtoUsageCorrespondence(idlist,validcols,dfcurrent.iloc[1,validcols]) + outputlist = CalculateDetailedUsages(xiaoxianpid,statsfilepathlist,statsfilename,gradename,threshold,marks,correspondence_dict,validcols,date,exclude=RefineExclude(excludejson)) + return outputlist #返回由usages开始的使用记录列表 + if __name__ == "__main__": print("数据库工具, import用.") \ No newline at end of file