处理20届智能车竞赛数据高等教育学会上载数据第二十届全国大学生智能汽车竞赛全国总决赛获奖名单E:\SmartCar\2025\自动化学会\自动化学会DOP\TEMP000101【智能车竞赛获奖信息】一、导出表格如下是导出的表格结构▲ 图1.1.1 导出表格结构二、处理方式1、确定获奖名单由第二十届全国大学生智能汽车竞赛全国总决赛获奖名单确定所有的获奖名单。 处理程序如下#!/usr/local/bin/python# -*- coding: gbk -*-## TEST1.PY -- by Dr. ZhuoQing 2026-01-24## Note:#fromheadmimport*strallstr(tspload(aa,strall))sallstrall.split(\n)#------------------------------------------------------------groupnameawarditems[]teamsncount0forsinsall:gids#7a37abgids.find(gids)ifgid0:sss[gidlen(gids):].split(¡¢)[1]sssss.split(/font)[0]printf(sss)groupnamesssifs.find(font face)0:continueifs.find(--)0:continuesss.split(|)iflen(ss)5:continueunivsss[1]teamsss[2]groupsss[3]awardsss[4]teamsncount1teamsn2026%06d%teamsncount teacher1NULLteacher2NULLforid,nsinenumerate(ss[5:]):ifns.find(emsp)0:continueiflen(ns)2:continueifns.replace(.,).isdigit():continueifid0:teacher1nsifid1:teacher2ns identsÖ¸µ¼ÀÏʦifid2:idents¶ÓÔ±ifid2:idents¶Ó³¤awarditems.append((ns,univs,teams,groups,awards,groupname,teacher1,teacher2))printf(len(awarditems))tspsave(awarditems,awarditemsawarditems)#------------------------------------------------------------printf(\a)#------------------------------------------------------------# END OF FILE : TEST1.PY#处理之前使用 “npz2csdn sc aa” 将公布的获奖网页信息存入 aa.npz 数据文件。2、获得用户信息从网站导出的报名表格和用户信息表格导出用户信息 处理文件如下#!/usr/local/bin/python# -*- coding: gbk -*-## TEST3.PY -- by Dr. ZhuoQing 2026-01-24## Note:#fromheadmimport*importopenpyxl teamfilerE:\SmartCar\2025\×Ô¶¯»¯Ñ§»á\±¨ÃûÐÅÏ¢Êý¾Ý1757559387507.xlsxuserfilerE:\SmartCar\2025\×Ô¶¯»¯Ñ§»á\Óû§Êý¾Ý1757558734950.xlsxuserdim[]#------------------------------------------------------------wbinopenpyxl.load_workbook(teamfile)wbsinwbin[Sheet1]titledim[]foriidd,lineinenumerate(wbsin):ifiidd0:forlinline:titledim.append(l.value)continue# for id,l in enumerate(line):# printff(titledim[id], l.value)# if iidd 20: breakunivsline[titledim.index(ѧУÃû³Æ)].value tn1line[titledim.index(Ö¸µ¼½Ìʦ1ÐÕÃû)].value tn1phoneline[titledim.index(Ö¸µ¼½Ìʦ1ÊÖ»úºÅ)].value temail1line[titledim.index(Ö¸µ¼½Ìʦ1ÓÊÏä)].value tdp1line[titledim.index(Ö¸µ¼½Ìʦ1ËùÊôԺϵ)].value tid1line[titledim.index(Ö¸µ¼½Ìʦ1¹¤×÷Ö¤ºÅ)].value tn2line[titledim.index(Ö¸µ¼½Ìʦ2ÐÕÃû)].value tn2phoneline[titledim.index(Ö¸µ¼½Ìʦ2ÊÖ»úºÅ)].value temail2line[titledim.index(Ö¸µ¼½Ìʦ2ÓÊÏä)].value tdp2line[titledim.index(Ö¸µ¼½Ìʦ2ËùÊôԺϵ)].value tid2line[titledim.index(Ö¸µ¼½Ìʦ2¹¤×÷Ö¤ºÅ)].valueifstr(tn1)!None:userdim.append((str(univs),str(tn1),str(temail1),str(tdp1),str(tid1),str(tn1phone)))ifstr(tn2)!None:userdim.append((str(univs),str(tn2),str(temail2),str(tdp2),str(tid2),str(tn2phone)))#------------------------------------------------------------wbinopenpyxl.load_workbook(userfile)wbsinwbin[Sheet1]titledim[]foriidd,lineinenumerate(wbsin):ifiidd0:forlinline:titledim.append(l.value)continue# for id,l in enumerate(line):# printff(titledim[id], l.value)# if iidd 20: breakunivsline[titledim.index(ѧУÃû³Æ)].value nameline[titledim.index(ѧÉúÐÕÃû)].value phoneline[titledim.index(ÊÖ»úºÅ)].value emailline[titledim.index(ÓÊÏä)].value departline[titledim.index(ËùÔÚѧԺ)].valueidline[titledim.index(Éí·ÝÖ¤ºÅ)].valueifstr(name)!None:userdim.append((str(univs),str(name),str(email),str(depart),str(id),str(phone)))#------------------------------------------------------------tspsave(userall,userdimuserdim)printf(len(userdim))#------------------------------------------------------------printf(\a)#------------------------------------------------------------# END OF FILE : TEST3.PY#3、合成最终数据使用如下程序将上述信息合成最终的程序#!/usr/local/bin/python# -*- coding: gbk -*-## TEST4.PY -- by Dr. ZhuoQing 2026-01-24## Note:#fromheadmimport*importshutilimportopenpyxl awarditemstspload(awarditems,awarditems)userdimtspload(userall,userdim)#------------------------------------------------------------OuserfilenamerE:\SmartCar\2025\×Ô¶¯»¯Ñ§»á\±í¸ñÄ£°å-×Ô¶¯»¯Ñ§»á.xlsxuseroutfilename\\.join(Ouserfilename.split(\\)[:-1])\\»ñ½±ÐÅÏ¢-×Ô¶¯»¯Ñ§»á.xlsxprintf(Ouserfilename,useroutfilename)#------------------------------------------------------------ifos.path.isfile(useroutfilename):os.remove(useroutfilename)shutil.copyfile(Ouserfilename,useroutfilename)printf(Processing award file:\a)wboutopenpyxl.load_workbook(useroutfilename)wbsoutwbout[Sheet1]#------------------------------------------------------------titledim[]forid,lineinenumerate(wbsout):ifid0:forlinline:titledim.append(l.value)printf(titledim)#------------------------------------------------------------count1printf(Total award:%d%len(awarditems))forid,ainenumerate(awarditems):# if id 200: breaknamea[0]univa[1]teama[2]groupa[3]awarda[4]teachera[6]phone1 phone2 idsdepforuinuserdim:ifnameu[1]:phone1u[-1]idsu[-2]depu[-3]elifteacheru[1]:phone2u[-1]iflen(dep)0:depu[-3]birthday20020607maleÄÐiflen(ids)18:birthdayids[6:15]nint(ids[-2:-1])if(n%2)0:maleÅ®if(id%100)0:tspshowinfor(%d %id)wbsout.cell(rowcount1,columntitledim.index(ÐòºÅ)1,valuestr(count))wbsout.cell(rowcount1,columntitledim.index(ѧÉúÐÕÃû)1,valuestr(name))wbsout.cell(rowcount1,columntitledim.index(ÁªÏµµç»°)1,valuephone1)wbsout.cell(rowcount1,columntitledim.index(ËùÔÚѧУ)1,valuestr(univ))wbsout.cell(rowcount1,columntitledim.index(ËùÔÚѧԺ)1,valuestr(dep))wbsout.cell(rowcount1,columntitledim.index(Ö¸µ¼½Ìʦ)1,valueteacher)wbsout.cell(rowcount1,columntitledim.index(Ö¸µ¼½Ìʦµç»°)1,valuephone2)wbsout.cell(rowcount1,columntitledim.index(¾ºÈü×é±ð)1,valuestr(group))wbsout.cell(rowcount1,columntitledim.index(»ñ½±½±Ïî)1,valuestr(award))wbsout.cell(rowcount1,columntitledim.index(³öÉúÄêÔÂ)1,valuebirthday)wbsout.cell(rowcount1,columntitledim.index(ÐÔ±ð)1,valuemale)count1wbout.save(useroutfilename)printf(\a)#------------------------------------------------------------printf(\a)#------------------------------------------------------------# END OF FILE : TEST4.PY#■ 相关文献链接:处理20届智能车竞赛数据高等教育学会上载数据第二十届全国大学生智能汽车竞赛全国总决赛获奖名单● 相关图表链接:图1.1.1 导出表格结构