还剩2页未读,继续阅读
文本内容:
Python春晚数据分析importxlrdimportnumpyasnpimportmatplotlib.pyplotaspitimportpandasaspdfromflaskimportFlaskjsonifyrender_templaterequestfrompyechartsimport*#pyecharts
0.
5.0fromimageioimportimreadapp=Flask—name—plt.rcParams[font.sans-serif]=[SimHei]#设置中警体classExc:def—init_selffilePathsheetName:self.data=xlrd.open_workbookfilePath#文牛路径self.table=self.data.sheet_by_namesheetName#excel中的表名获取第的key值self.keys=self.table.row_values0获取总行数self.rowNum=self.table.nrows获取总列数self.colNum=self.table.ncolsdefdrawself:cis={}#以年份为单位,计数各类型节第量ycls={}#存放单独哼给类型节验量,循环清空years=1983#初始年份1983后随读取年份梗化zoncate={}#各类型节国、数量rna二口#存放所有演员名单rname={}#存放所有演员及其登场次数rnamel=[]#list存放排序后的演员名单zoncatel=[]#list存放排序前后节目§单ifself.rowNum=1:print禊据可取else:r=Dj=1foriinrangeself.rowNum-1:s={}values=self.table.row_valuesj#换彳读取存数据#printvaluesforxinrangeself.colNum:#存各列数据s[self.keys[x]]=values[x]ifints[self.keys
[3]]!=years:#判断是否为同一年节目#printyears年各种节目目clsyears=ints[self.keys
[3]]cls={}rna=s[self.keys
[2]].spht、#对单个节郎每个演员分开计数foriinrna:try:rname[i]+=1#记表演监单及其出场次数except:rname[i]=1try:cls[s[self.keys
[0]]]+=1#计各种节目力数except:cls[s[self.keys
[0]]]=1try:try:zoncate[s[self.keys
[0]]]+=1#各节柴型总表演次数except:zoncate[s[self.keys
[0]]]=1j+=1#微力口一r.appendsycls[years]=clsrname.popfrnamel=zipmame.valuesmame.keys#对欧字典进行键、值分包值放前zoncatel=zipzoncate.valueszoncate.keys#对类次字典进彳暹、值分包,值放前rnamel=sortedmamel#从〃到木以包中在前的登场次数values排名#printrnamelzoncatel=sortedzoncatel#print所有的节目t类次数\zoncatelrna=[]rnum=[]rna2=[]rnum2=[]catena=Qcatenum=[]inyear=1983self.yearpie=yearsyearslist=listrange1983years+1#创建一个年份列表作为折线图x轴foriinrnamel[-10:]:rna.appendi
[1]rnum.appendi[O]barr=Bar排名前邢演员的登场次数barr.add演员”,rnamummark_line=[average]title=排名前巡演员的登场次数#bar.render排名前巡演员的登场次数.htmlforiinmamel:rna
2.appendi
[1]rnum
2.appendi
[0]rna
2.remove1]mum
2.remove1cy=WordCloud演员词云cy.addrna2rnum2shape=circlecy2=WordCloud节审云cy
2.addlistzoncate.keyslistzoncate.valuesforiinzoncatel[-10:]:catena.appendi
[1]catenum.appendi[O]line=Line\n排名前伸郎每年表演次数变化foriincatena:pity=Dradern=
[0]forjinyearslist:try:plty.appendycls[j][i]exceptKeyError:plty.appendO#printplty#radern[O]=pltyline.addiyearslistpitymark_point=[maxmin]mark_line=[averagen]#printyclspiez=Pie\n1983-2018年各类节毒演次数饼图piez.addHcatenacatenumis^more_utils=Trueself.yclspie=ycls#page=Pagepage.addcypage.addcy2page.addbarrpage.addlinepage.addpiezpage.renderftemplates/历年春晚数据图表.html”defdrawpieself.ye:inyear=1983pie=Pie\n\n\n\n{}年各种节目数目寸比formatyecnum=listself.yclspie[ye].valuescname=listself.yclspie[ye].keyspie.add{年各种节段郎比formatinyearcnamecnumradius=
[3075]is_more_utils=Truepie.rendertemplates/{}年各种节电郎上thtml.formatye@app.route7homedefhome:data.drawreturnrender_template历年春晚数据图表.html”@app.route7indexdefindex:returnrender_templateindex.html@app.route7yearmethods=「GETPOST]defgetValues:yearslist=listrange19832019text=request.form.getyeartext=inttextiftextinyearslist:data.drawpietextreturnrender_template{}年各种节多郎上thtml.formattextelse:return不存在‘if—name—==—main—filePath=春晚节律.xlsx”sheetName二,春晚节扉,data=ExcfilePathsheetName#printdata.dict_data#data.drawapp.runhost=
127.
0.
0.1port=8080debug=True#data.drawpie。