当前位置: 首页 > 后端技术 > Python

用Python将Excel表格转换为可视化图形?

时间:2023-03-26 19:06:05 Python

众所周知,考研很大一部分也是考查信息收集能力。每年,很多人经常被这个绊倒。无法正确分析各高校往年的录取信息,从而无法选择合适的院校报考。至于很多高校的录取信息都是以PDF格式发布的,比如我手上的深圳大学电通录取结果,这就需要我们先把PDF转成Excel。(1)PDF(2)Excel有了Excel,我们就可以为所欲为了!开始1.LoadExceltable#coding=utf8importxlrdimportnumpyasnpfrompyecharts.chartsimportBarfrompyecharts.chartsimportPie,Gridfrompyechartsimportoptionsasopts#========================准备数据=====================#导入Excel文件数据=xlrd.open_workbook("C:/深圳大学电子与信息工程学院2020电子信息硕士生录取名单.xlsx")#加载第一张表table=data.sheets[0]2.提取Excel表格数据tables=defRead_Excel(excel):#从第4行开始读取数据,因为这个是考生信息从Excel文件中的第四行开始,对于range(3,excel.nrows-1)中的行:dict_={"id":"","name":"","status":"","preliminary_score":"","retest_score":"","total_score":"","ranking":""}dict_["id"]=table.cell_value(rows,1)dict_["name"]=table.cell_value(行,2)dict_[“状态”]=table.cell_value(行,3)dict_[“备注”]=table.cell_value(行,4)dict_[“preliminary_score”]=table.cell_value(rows,5)dict_["retest_score"]=table.cell_value(rows,6)dict_["total_score"]=table.cell_value(rows,7)dict_["ranking"]=table.cell_value(rows,8)#过滤掉未录取或非普通计划录取的考生ifdict_["status"]==str("tobeadmitted")anddict_["remarks"]==str("ordinaryplan"):tables.append(dict_)打印出来看看数据是否正确取出:#执行上面的方法Read_Excel(table)foriintables:print(i)可以看到一切顺利。3.数据切分统计的步骤因人而异。我只是想对每个段进行单独的统计。您还可以根据自己的喜好进行其他处理。num_score_300_310=0num_score_310_320=0num_score_320_330=0num_score_330_340=0num_score_340_350=0num_score_350_=0num_score_360_370=0num_score_370_380=0num_score_380_390=0num_score_390_400=0num_score_400_410=0min_score=999max_score=999max_score=0#score_score_scrore=scoreincore=scoreforIncorefforIncorefforImimscroreforImims:scoreif得分在范围内(300,310):num_score_300_310=num_score_300_310+1elif得分在范围内(310,320):num_score_310_320=num_score_310_320+1elif得分在范围内(320,330):num_score_320_330=num_score_30得分在范围内(3430,3430)):num_score_330_340=num_score_330_340+1elif得分(340,350):num_score_340_350=num_score_340_350+1elif得分(350,360),370):num_score_360_370=num_score_360_370+范围内的1elif分数(370,380):num_score_370_380=num_score_370_380+范围内的1elif分数(380,390):num_score_380_390=num_score_380_390+范围内的1elif分数(390,400):num_score_390_4003-50.4003范围内的num_score_390_4003=9","350-360","360-370","370-380","380-390","390-400","400-410")bar_y_axis_data=(num_score_300_310,num_score_310_320,num_score_320_330,\num_score_330_340,num_score_340_350,num_score_350_360,\num_score_360_370,num_score_370_380,num_score_380_390,\num_score_390_400,num_score_400_410)绘制可视化图形1、直方图:#================================================#建立直方图c=(Bar.add_xaxis(bar_x_axis_data).add_yaxis("录取候选人",bar_y_axis_data,color="#af00ff").set_global_opts(title_opts=opts.TitleOpts(title="Quantity")).render("C:/AdmissionDataChart.html"))2.饼图:#=======================饼图=======================c=(Pie(init_opts=opts.InitOpts(height="800px",width="1200px")).add("录取分数概览",[zip中z的列表(z)(bar_x_axis_data,bar_y_axis_data)],center=["35%","38%"],radius="40%",label_opts=opts.LabelOpts(formatter="{b|{b}:{c}{per|{d}%}",rich={"b":{"fontSize":16,"lineHeight":33},"per":{"color":"#eee","backgroundColor":"#334455","padding":[2,4],"borderRadius":2,},})).set_global_opts(title_opts=opts.TitleOpts(title="入场",subtitle='王浩制作'),legend_opts=opts.LegendOpts(pos_left="0%",pos_top="65%")).render("C:/AdmissionPieChart.html"))大功告成!!是不是超级直观哈哈!作者|Waao666原文|https://blog.csdn.net/weixin_...文渊网络,仅供学习,如有侵权请联系删除。学习Python的路上肯定会遇到困难,不要慌张,我这里有一套学习资料,包括40+电子书,800+教学视频,涉及Python基础、爬虫、框架、数据分析、机学习等等,别怕你学不会!https://shimo.im/docs/JWCghr8...《Python学习资料》关注公众号【蟒圈】,每日优质文章推送。