01 相关的通知


  • 全国高校大学生竞赛质量提升工作推进会
  • 高校竞赛排行榜主办方数据上传 操作手册

02 信息处理


1.原始资料文件

资料所在目录:
E:\SmartCar\2020比赛\Document\HighEducation\Division Result
E:\SmartCar\2020比赛\Document\HighEducation\Final Result
E:\SmartCar\2020比赛\Document\HighEducation\输出表格-高教学会 : 包括有:竞赛报名模板、竞赛结果模板两个文件。
E:\SmartCar\2020比赛\Document\HighEducation\用户参赛信息表20201124.xlsx
总决赛获奖信息:
D:\Temp\Final Result\Excel\安徽.xls
D:\Temp\Final Result\Excel\创意.xls
D:\Temp\Final Result\Excel\东北.xls
D:\Temp\Final Result\Excel\华北.xls
D:\Temp\Final Result\Excel\华东.xls
D:\Temp\Final Result\Excel\华南.xlsx
D:\Temp\Final Result\Excel\山东.xls
D:\Temp\Final Result\Excel\西部.xls
D:\Temp\Final Result\Excel\浙江.xlsx

2.竞赛结果表格

(1)填表说明:
1.、奖项各竞赛自行设定,可含单项奖或专项奖。
2.、组织奖、优秀指导教师奖等可另行设定。
3.、组别:指研究生、本科、高职高专、中职、教师。
4、类别:有些竞赛有分类,如:广告设计竞赛的平面类、动画类等。
5、部分竞赛有作品编号、作品名称
(2)EXCEL表格栏目:
A. 作品编号; B. 作品名称; C. 学校名称; D. 学生1姓名; E. 学生2姓名
F. 学生3姓名; G. 学生4姓名; H. 学生5姓名; I. 学生6姓名; J. 学生7姓名
K. 学生8姓名; L. 队名; M. 专业名称; N. 学院名称; O. 指导老师1;
P. 指导老师2; Q. 奖项名称; R. 竞赛组别; S. 竞赛类别; T. 备注

3.总决赛表格→竞赛结果

(1) 编程分析

总决赛获奖信息表格结构如下:

▲ 总决赛表格结构

按照以下结构将总决赛获奖信息转换成“竞赛结果表格”

No 总决赛表格 竞赛结果表格 备注
1 学校名称 N.学院名称
2 队伍名称 L.队名
3 组别 B.竞赛类别
4 奖项 Q.奖项名称 全国总决赛+奖项
5 指导教师1 O.指导教师1
6 指导教师2 P.指导教师2
7 学生n 学生n姓名 n=1,2,3,4,5

(2) 生成程序

参见附件中的“1 .生成全国总决赛结果”。

4.用户参赛信息表格→竞赛报名模板

报名模板:
1.参赛作品 2.参赛人 3.手机号 4.学号
5.身份证号 6.学校名称 7.学院名称 8.指导老师
9.队名 10.专业名称 11.入学年份 12.学生类别
13.竞赛类别 14.竞赛组别
参赛用户信息:
1.学生姓名 2.学生系别 3.学生学号 4.学生班级 5.学生年龄
6.学生专业 7.学生电话 8.学生邮箱 9.队伍名称 10.赛区
11.省市 12.学校 13.组别 14.教师姓名1 15.教师性别1
16.教师系别1 17.教师职称1 18.教师电话1 19.教师邮箱1 20.教师通讯地址1
21.教师姓名2 22.教师性别2 23.教师系别2 24.教师职称2 25.教师电话2
26.教师邮箱2 27.教师通讯地址2 28.教师姓名3 29.教师性别3 30.教师系别3
31.教师职称3 32.教师电话3 33.教师邮箱3 34.教师通讯地址3 35.教师姓名4
36.教师性别4 37.教师系别4 38.教师职称4 39.教师电话4 40.教师邮箱4
41.教师通讯地址4

按照以下映射进行转换:

No 参赛用于信息 竞赛报名表格 备注
1 学生姓名 参赛人
2 学生学号 学号
3 学生专业 专业名称
4 学校 学校名称
5 组别 竞赛组别 →参赛作品
6 教师姓名1 指导教师
7 队伍名称 队名
8 学生电话 手机号
9 学生年龄 入学年份 年龄+n
10 赛区 竞赛类别

▲ 全国高校大学生竞赛质量提升工作推进会

▌附件:


1.生成全国总决赛结果

#!/usr/local/bin/python
# -*- coding: gbk -*-
#============================================================
# EXCELSUB.PY                  -- by Dr. ZhuoQing 2021-01-14
#
# Note:
#============================================================from head import *
import pandas as pd#------------------------------------------------------------
teamfile = r'D:\Temp\输出表格-高教学会\竞赛报名模板.xlsx'
resultfile = r'D:\Temp\输出表格-高教学会\竞赛结果模版.xlsx'finalresult = ('安徽', '山东', '浙江', '东北','华北', '华东', '华南', '西部', '创意')
finaldir = r'D:\Temp\Final Result\Excel'divisiondir = r'D:\Temp\Division Result'
division = ('安徽', '山东', '浙江', '东北','华北', '华东', '华南', '西部', '创意')divisionresult = r'D:\Temp\输出表格-高教学会\竞赛结果模版 - 分赛区成绩.xlsx'totalappendnum = 0#------------------------------------------------------------
teamorigin = r'D:\Temp\用户参赛信息表20201124.xlsx'#------------------------------------------------------------
def showexcel(filename):excelfile = pd.read_excel(filename)printf([id for id,c in excelfile.items()])listvalue = excelfile.values.tolist()for id,l in enumerate(listvalue):printff(id, l)#------------------------------------------------------------
def clearexcel(filename):excelfile = pd.read_excel(filename)excelfile = excelfile[0:0]excelfile.to_excel(filename, sheet_name='Sheet1', index=False)#------------------------------------------------------------
def appendexcel(filename, dict):excelfile = pd.read_excel(filename)row = len(list(excelfile.items())[0][1])#--------------------------------------------------------for col in dict:excelfile[col] = excelfile[col].astype(str)excelfile.at[row, col] = dict[col]#--------------------------------------------------------excelfile.to_excel(filename, sheet_name='Sheet1', index=False)#------------------------------------------------------------
def appendexcellist(filename, dictlist):excelfile = pd.read_excel(filename)rowoffset = len(list(excelfile.items())[0][1])#--------------------------------------------------------for id,dict in enumerate(dictlist):row = id + rowoffsetfor col in dict:excelfile[col] = excelfile[col].astype(str)excelfile.at[row, col] = dict[col]if id % 500 == 0:printf("Append excel %d/%d"%(id, len(dictlist)))#--------------------------------------------------------excelfile.to_excel(filename, sheet_name='Sheet1', index=False)#------------------------------------------------------------
def isname(string):if type(string) != str: return Falseif len(string) < 2:     return Falseif string == 'nan':     return Falseif string == '-':       return Falsereturn True#------------------------------------------------------------
def appendfile2result(fname):f1 = fname + '.xls'f2 = fname + '.xlsx'filename = f1if not os.path.isfile(filename):filename = f2if not os.path.isfile(filename):printf('ERROR: %s does not exist!'%fname)return#--------------------------------------------------------excelfile = pd.read_excel(filename)rownum = len(list(excelfile.items())[0][1])for row in range(rownum):school = excelfile.at[row, '学校名称']if type(school) != str: continueif len(school) == 0: continueadddict = {}adddict['学院名称'] = schooladddict['队名']     = excelfile.at[row, '队伍名称']adddict['竞赛类别'] = excelfile.at[row, '组别']adddict['奖项名称'] = '全国总决' + excelfile.at[row, '奖项']for i in range(2):name = excelfile.at[row, '指导教师%d'%(i+1)]if isname(name):adddict['指导老师%d'%(i+1)] = namefor i in range(5):name = excelfile.at[row, '学生%d'%(i+1)]if isname(name):adddict['学生%d姓名'%(i+1)] = nameshowstr = str(adddict).replace('\u4dae', '')printf(showstr)#----------------------------------------------------global totalappendnumtotalappendnum += 1adddict['作品编号'] = '%04d'%totalappendnumappendexcel(resultfile, adddict)#------------------------------------------------------------
def teamorigin2file(filename):if not os.path.isfile(filename):printf('ERROR: %s does not exist!'%fname)return#--------------------------------------------------------excelfile = pd.read_excel(filename)rownum = len(list(excelfile.items())[0][1])group2group = {'学生姓名' : '参赛人','学生学号' : '学号','学生专业' : '专业名称','学校' : '学校名称','组别' : '竞赛组别','教师姓名1' : '指导老师','队伍名称' : '队名','学生电话' : '手机号','学生年龄' : '入学年份','赛区' : '竞赛类别'}adddictlist = []printf("Begin to generate add diction:")for row in range(rownum):adddict = {}for gg in group2group:adddict[group2group[gg]] = excelfile.at[row, gg]adddict['参赛作品'] = excelfile.at[row, '组别']adddictlist.append(adddict)if row % 1000 == 0:printff('Add dict: %d/%d'%(row, rownum))printf("Begin to add to excel:")appendexcellist(teamfile, adddictlist)#------------------------------------------------------------
def division2result(outfile, divisionlist):dictlist = []for dl in divisionlist:dlfile = os.path.join(divisiondir, '2020%s奖项.xlsx'%dl)if not os.path.isfile(dlfile):dlfile = os.path.join(divisiondir, '2020%s奖项.xls'%dl)if not os.path.isfile(dlfile):printf("Can not file the file :%s"%dlfile)continueprintf("Load file :%s"%dlfile)excelfile = pd.read_excel(dlfile)rownum = len(list(excelfile.items())[0][1])for row in range(rownum):school = excelfile.at[row, '学校名称']if type(school) != str: continueif len(school) == 0: continueadddict = {}adddict['学院名称'] = schooladddict['队名']     = excelfile.at[row, '队伍名称']adddict['竞赛类别'] = excelfile.at[row, '组别']adddict['奖项名称'] = '分赛区' + str(excelfile.at[row, '奖项'])for i in range(2):name = excelfile.at[row, '指导教师%d'%(i+1)]if isname(name):adddict['指导老师%d'%(i+1)] = namefor i in range(5):name = excelfile.at[row, '学生%d'%(i+1)]if isname(name):adddict['学生%d姓名'%(i+1)] = namedictlist.append(adddict)#--------------------------------------------------------appendexcellist(outfile, dictlist)#------------------------------------------------------------
if __name__ == "__main__":#--------------------------------------------------------printf("Clear division result.")clearexcel(divisionresult)division2result(divisionresult, division)#--------------------------------------------------------'''printf("Clear origin file.")clearexcel(teamfile)teamorigin2file(teamorigin)'''#--------------------------------------------------------'''clearexcel(resultfile)for ff in finalresult:fname = os.path.join(finaldir, ff)printf(fname)appendfile2result(fname)'''#--------------------------------------------------------#--------------------------------------------------------printf('\a')#------------------------------------------------------------
#        END OF FILE : EXCELSUB.PY
#============================================================

2020年第十五届竞赛数据上报竞赛数据给高等教学学会统计相关推荐

  1. 关于2020年第十五届全国大学生智能汽车竞赛山东赛区技术答辩的相关规则

    关于2020年第十五届全国大学生智能汽车竞赛 山东赛区技术答辩的相关规则 作者:卓晴博士,清华大学自动化系 更新时间:2020-09-01 Tuesday 1.参加人员 被答辩人:进入国赛的参赛队所有 ...

  2. 第十五届北京师范大学程序设计竞赛决赛(网络同步赛) B lca水 D 思维,找规律...

    第十五届北京师范大学程序设计竞赛决赛(网络同步赛) B. Borrow Classroom 题意:一棵树,点 1为根,一个人从点 b到 点 c再到点 1,第二个人从点 a出发,问第二个人能否截住第一个 ...

  3. 第十五届吉林省大学生程序设计竞赛

    最近刚打完吉林省程序设计竞赛,自己比较菜,成绩不是很好,拖累了两位队友,其中一位队友保研,并在比赛前一天拿到了百度的实习offer.另一位是备战考研. 比赛只过了A,B,E,L,M,最终41名 A题: ...

  4. 第十七届全国大学生智能汽车竞赛安徽赛区 暨安徽省第十五届大学生智能汽车竞赛 闭幕式致辞

    第十七届全国大学生智能汽车竞赛安徽赛区 暨安徽省第十五届大学生智能汽车竞赛 闭幕式致辞   尊敬的张尔桂处长.朱永国副处长,尊敬的杨辉军院长,   亲爱的老师们.同学们.朋友们:   下午好!   第 ...

  5. 2020年第十五届全国大学生智能汽车竞赛技术报告

    第十五届全国大学生智能汽车竞赛 技术报告下载 01基础四轮组 百度网盘下载链接:: 链接: https://pan.baidu.com/s/1SBmpET6oNkAUszGZVTQ8ow 提取码: d ...

  6. 2020年第十五届全国大学生智能汽车竞赛浙江赛区比赛成绩分析

    8月10日,第十五届全国大学生智能汽车竞赛首场比赛(浙江赛区)在浙大城市学院风雨操场拉开帷幕. ▲ 智能车竞赛浙江赛区比赛现场 经过两天鏖战比赛,来自省内34所大学(含本科.独立学院.高职院校)的17 ...

  7. 第十五届全国大学生信息安全竞赛知识问答(CISCN)

    一.单项选择题 1.国家秘密的保密期限,除另有规定外,绝密级不超过()年 A.10年 B.50年 C.30年 D.20年 2.安卓逆向中,反编译JAVA通常使用以下哪个软件?( ) A.JPEXS B ...

  8. 2020年第十五届全国大学生智能汽车竞赛山东赛区成绩统计

    作者:卓晴博士,清华大学自动化系 更新时间:2020-08-19 Wednesday 01基础四轮组 1.本科组 序号 组别 参赛学校 队伍名称 最终成绩 1 基础四轮组 山东大学(威海) Lekim ...

  9. 第十五届全国大学生信息安全竞赛创新实践能力赛

    ​ 基于挑战码的双向认证1 这两个应该是属于非预期,查找文件内容,两个flag都出了: find / |xargs grep -ri flag{ 2>/dev/null flag{34f5fda ...

最新文章

  1. 常见的canvas优化——模糊问题、旋转效果
  2. visual studio创建项目时需要注意的问题
  3. order one question for the 4e4 exploitation
  4. mybatis mapper文件找不到_MyBatis 面试题
  5. DHL:jQuery框架学习使用总结,插件,继续中...
  6. linux mysql 文件恢复_linux下误删数据文件恢复
  7. spring(三)-事务管理
  8. windows 2008r2文件服务器部分用户访问不了_苹果设备如何访问 Windows 文件共享?...
  9. iOS-UICollectionView自定义布局
  10. 20.看板方法---问题管理和升级策略
  11. 【计算机组成与设计:硬件/软件接口】第三章:计算机的算术运算
  12. Ghost系统光盘刻录教程图文版 Nero
  13. 基于SSM框架搭建的疫情打卡系统 报告+项目源码及数据库文件
  14. 一文说透所有期权基本交易策略
  15. ps的基础知识与教程
  16. 电脑如何安装鸿蒙系统win双系统,电脑怎么装双系统|电脑双系统安装教程
  17. 有缘-无缘-惜缘-随缘
  18. HTML第6章上机练习3(制作京东快报页面)
  19. 全球最强人工智能创新公司Top100榜单重磅发布!
  20. 第十周项目2——贮存班长信息的学生类

热门文章

  1. 复旦大学2016--2017学年第二学期(16级)高等代数II期末考试第七大题解答
  2. Object-C 如何把一个时间戳转换为一个标准的时间格式?
  3. Js实现点击超链接弹出层,效果仿Discuz登录!
  4. 在线项目管理工具比较之二:LiquidPlanner
  5. ZigBee On Windows Mobile--3.模拟器和实物调试
  6. asp.net开发中自定义网站的目录
  7. Angular从零到一1.2 环境配置要求
  8. SaltStack 学习笔记 - 第四篇: SaltStack常用模块
  9. ios unrecognized selector sent to instance出现的原因和解决方案
  10. 软件项目经理新手上路9 - 谁是你的敌人?