答题纸对应中可以设置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
|
corr_dict[idlist[i]] = collist
|
||||||
return corr_dict
|
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"
|
output = "usages\n\n\n"
|
||||||
validflag = True
|
validflag = True
|
||||||
marks = [int(mark) for mark in marks]
|
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]
|
means_out = [f"{t:.3f}" for t in means]
|
||||||
for id in correspondence_dict:
|
for id in correspondence_dict:
|
||||||
cols = correspondence_dict[id]
|
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])
|
diffs = "\t".join([means_out[u] for u in cols])
|
||||||
usages = f"{date}\t{classname}\t{diffs}"
|
usages = f"{date}\t{classname}\t{diffs}"
|
||||||
output += f"{id}\n{usages}\n\n\n"
|
output += f"{id}\n{usages}\n\n\n"
|
||||||
|
|
|
||||||
|
|
@ -133,6 +133,8 @@ class MyWindow(QWidget,Ui_Form):
|
||||||
paperinfo = FindPaper(xiaoxianpid, self.answersheetseekingpath)
|
paperinfo = FindPaper(xiaoxianpid, self.answersheetseekingpath)
|
||||||
gradename = paperinfo[1]
|
gradename = paperinfo[1]
|
||||||
idlist = paperinfo[2]
|
idlist = paperinfo[2]
|
||||||
|
excludejson = paperinfo[4]
|
||||||
|
print(paperinfo)
|
||||||
# print(paperinfo)
|
# print(paperinfo)
|
||||||
zf = zipfile.ZipFile(zipfilepath)
|
zf = zipfile.ZipFile(zipfilepath)
|
||||||
zf.extractall(self.tempdir) #解压zip文件中的所有内容到tempdir
|
zf.extractall(self.tempdir) #解压zip文件中的所有内容到tempdir
|
||||||
|
|
@ -141,7 +143,7 @@ class MyWindow(QWidget,Ui_Form):
|
||||||
validcols,marks = generateColIndexandMarks(statsfilepathlist,self.statsfilename,paperinfo)
|
validcols,marks = generateColIndexandMarks(statsfilepathlist,self.statsfilename,paperinfo)
|
||||||
dfcurrent = pd.read_excel(os.path.join(statsfilepathlist[0],self.statsfilename))
|
dfcurrent = pd.read_excel(os.path.join(statsfilepathlist[0],self.statsfilename))
|
||||||
correspondence_dict = generateIDtoUsageCorrespondence(idlist,validcols,dfcurrent.iloc[1,validcols])
|
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开始的使用记录文本
|
return output #返回由usages开始的使用记录文本
|
||||||
except:
|
except:
|
||||||
return 1 #无法生成就返回1
|
return 1 #无法生成就返回1
|
||||||
|
|
|
||||||
Reference in New Issue