答题纸对应中可以设置exclude项目, 不录入某些题号某些班级的使用记录
This commit is contained in:
parent
0300d5e884
commit
9768e3c9c1
|
|
@ -1917,7 +1917,7 @@ def generateIDtoUsageCorrespondence(idlist,validcols,names): #根据idlist(题
|
|||
corr_dict[idlist[i]] = collist
|
||||
return corr_dict
|
||||
|
||||
def CalculateUsages(statsfilepathlist,statsfilename,gradename,threshold,marks,correspondence_dict,validcols,date): #根据统计数据所在的路径,文件名,年级,阈值,分数列表和题号列数(0-len(validcols))对应字典,以及原excel文件中的有效列位置validcols, 日期date, 生成usages的metadata.txt文件的内容, 如果有正确率大于1的则返回False
|
||||
def CalculateUsages(statsfilepathlist,statsfilename,gradename,threshold,marks,correspondence_dict,validcols,date,exclude = {}): #根据统计数据所在的路径,文件名,年级,阈值,分数列表和题号列数(0-len(validcols))对应字典,以及原excel文件中的有效列位置validcols, 日期date, 生成usages的metadata.txt文件的内容, 如果有正确率大于1的则返回False
|
||||
output = "usages\n\n\n"
|
||||
validflag = True
|
||||
marks = [int(mark) for mark in marks]
|
||||
|
|
@ -1933,7 +1933,7 @@ def CalculateUsages(statsfilepathlist,statsfilename,gradename,threshold,marks,co
|
|||
means_out = [f"{t:.3f}" for t in means]
|
||||
for id in correspondence_dict:
|
||||
cols = correspondence_dict[id]
|
||||
if not len(cols) == 0:
|
||||
if not len(cols) == 0 and not (id in exclude and classname[-3:] in generate_classid(exclude[id])):
|
||||
diffs = "\t".join([means_out[u] for u in cols])
|
||||
usages = f"{date}\t{classname}\t{diffs}"
|
||||
output += f"{id}\n{usages}\n\n\n"
|
||||
|
|
|
|||
|
|
@ -133,6 +133,8 @@ class MyWindow(QWidget,Ui_Form):
|
|||
paperinfo = FindPaper(xiaoxianpid, self.answersheetseekingpath)
|
||||
gradename = paperinfo[1]
|
||||
idlist = paperinfo[2]
|
||||
excludejson = paperinfo[4]
|
||||
print(paperinfo)
|
||||
# print(paperinfo)
|
||||
zf = zipfile.ZipFile(zipfilepath)
|
||||
zf.extractall(self.tempdir) #解压zip文件中的所有内容到tempdir
|
||||
|
|
@ -141,7 +143,7 @@ class MyWindow(QWidget,Ui_Form):
|
|||
validcols,marks = generateColIndexandMarks(statsfilepathlist,self.statsfilename,paperinfo)
|
||||
dfcurrent = pd.read_excel(os.path.join(statsfilepathlist[0],self.statsfilename))
|
||||
correspondence_dict = generateIDtoUsageCorrespondence(idlist,validcols,dfcurrent.iloc[1,validcols])
|
||||
output = CalculateUsages(statsfilepathlist,self.statsfilename,gradename,threshold,marks,correspondence_dict,validcols,date)
|
||||
output = CalculateUsages(statsfilepathlist,self.statsfilename,gradename,threshold,marks,correspondence_dict,validcols,date,exclude=excludejson)
|
||||
return output #返回由usages开始的使用记录文本
|
||||
except:
|
||||
return 1 #无法生成就返回1
|
||||
|
|
|
|||
Reference in New Issue