新增generateUsagedetail函数, 根据某个小闲导出的zip文件生成个人使用记录列表

This commit is contained in:
wangweiye7840 2024-06-16 11:31:41 +08:00
parent 6532d8ffb6
commit fbb56bade4
1 changed files with 27 additions and 0 deletions

View File

@ -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用.")