def main(): dwf.createFile(readPath) dwf.createFile(savaPath) analyse_Chinaeveryday() #生成中国每日新增信息的折线图 analyse_province() #生成中国各省份信息折线图 analyse_worldhistory() #生成世界总体信息折线图 analyse_Chinahistory() #生成中国总体信息折线图 page.render(savaPath + '/analyse_all.html') #生成包含所有图像的html并存放在analysis文件夹
def province_children_data(): areaTree = all_data for province in areaTree: children_name = list() children_total_nowConfirm = list() children_total_confirm = list() children_total_suspect = list() children_total_dead = list() children_total_deadRate = list() children_total_showRate = list() children_total_heal = list() children_total_healRate = list() children_total_showHeal = list() children_total_importedCase = list() for children in province['children']: children_name.append(children['name']) children_total_nowConfirm.append( int(children['total']['nowConfirm'])) children_total_confirm.append(int( children['total']['confirm'])) # 累计确诊 children_total_suspect.append(int( children['total']['suspect'])) # 疑似 children_total_dead.append(int(children['total']['dead'])) # 累计死亡 children_total_deadRate.append(children['total']['deadRate']) children_total_showRate.append(children['total']['showRate']) children_total_heal.append(int(children['total']['heal'])) # 累计治愈 children_total_healRate.append(children['total']['healRate']) children_total_showHeal.append(children['total']['healRate']) if 'importedCase' in children['total']: children_total_importedCase.append( int(children['total']['importedCase'])) # 境外输入 else: children_total_importedCase.append(0) # 指定file以utf-8的格式打开 file = Workbook(encoding='utf-8') # 指定打开的文件名 table = file.add_sheet('data') t3_name = [ 'name', 'nowConfirm', 'confirm', 'suspect', 'dead', 'deadRate', 'showRate', 'heal', 'healRate', 'showHeal', 'importedCase' ] for i in range(len(t3_name)): table.write(0, i, t3_name[i]) for i in range(len(children_name)): table.write(i + 1, 0, children_name[i]) table.write(i + 1, 1, children_total_nowConfirm[i]) table.write(i + 1, 2, children_total_confirm[i]) table.write(i + 1, 3, children_total_suspect[i]) table.write(i + 1, 4, children_total_dead[i]) table.write(i + 1, 5, children_total_deadRate[i]) table.write(i + 1, 6, children_total_showRate[i]) table.write(i + 1, 7, children_total_heal[i]) table.write(i + 1, 8, children_total_healRate[i]) table.write(i + 1, 9, children_total_showHeal[i]) table.write(i + 1, 10, children_total_importedCase[i]) cf.createFile(rootPath + '/中国各省市疫情信息') file.save(rootPath + '/中国各省市疫情信息/' + province['name'] + '.xlsx')
def province_total_data(): areaTree = all_data print(areaTree) print(areaTree[0]['total']) print(areaTree[0]['total'].keys()) province_name = list() province_total_nowConfirm = list() province_total_confirm = list() province_total_suspect = list() province_total_dead = list() province_total_deadRate = list() province_total_showRate = list() province_total_heal = list() province_total_healRate = list() province_total_showHeal = list() province_total_importedCase = list() for province in areaTree: province_name.append(province['name']) province_total_nowConfirm.append(int(province['total']['nowConfirm'])) province_total_confirm.append(int( province['total']['confirm'])) # 累计确诊 province_total_suspect.append(int(province['total']['suspect'])) # 疑似 province_total_dead.append(int(province['total']['dead'])) # 累计死亡 province_total_deadRate.append(province['total']['deadRate']) province_total_showRate.append(province['total']['showRate']) province_total_heal.append(int(province['total']['heal'])) # 累计治愈 province_total_healRate.append(province['total']['healRate']) province_total_showHeal.append(province['total']['healRate']) if 'importedCase' in province['total']: province_total_importedCase.append( int(province['total']['importedCase'])) # 境外输入 else: province_total_importedCase.append(0) # 指定file以utf-8的格式打开 file = Workbook(encoding='utf-8') # 指定打开的文件名 table = file.add_sheet('data') t1_name = [ 'name', 'nowConfirm', 'confirm', 'suspect', 'dead', 'deadRate', 'showRate', 'heal', 'healRate', 'showHeal', 'importedCase' ] for i in range(len(t1_name)): table.write(0, i, t1_name[i]) for i in range(len(province_name)): table.write(i + 1, 0, province_name[i]) table.write(i + 1, 1, province_total_nowConfirm[i]) table.write(i + 1, 2, province_total_confirm[i]) table.write(i + 1, 3, province_total_suspect[i]) table.write(i + 1, 4, province_total_dead[i]) table.write(i + 1, 5, province_total_deadRate[i]) table.write(i + 1, 6, province_total_showRate[i]) table.write(i + 1, 7, province_total_heal[i]) table.write(i + 1, 8, province_total_healRate[i]) table.write(i + 1, 9, province_total_showHeal[i]) table.write(i + 1, 10, province_total_importedCase[i]) cf.createFile(rootPath + '/中国各省市总体疫情信息') file.save(rootPath + '/中国各省市总体疫情信息/中国各省市总体疫情信息.xlsx')
def province_trend(): # province_trend_data = {} for p_name in province_name: t = getData.getProvinceTrendData(p_name) # province_trend_data[p_name] = t p_date = list() p_confirm = list() p_dead = list() p_heal = list() p_confirm_add = list() p_confirm_cuts = list() p_dead_cuts = list() p_now_confirm_cuts = list() p_heal_cuts = list() p_newConfirm = list() p_newHeal = list() p_newDead = list() p_description = list() for day in t: p_date.append(day['date'][:2] + "/" + day['date'][3:]) p_confirm.append(int(day['confirm'])) p_dead.append(int(day['dead'])) p_heal.append(int(day['heal'])) p_confirm_add.append(day['confirm_add']) p_confirm_cuts.append(day['confirm_cuts']) p_dead_cuts.append(day['dead_cuts']) p_now_confirm_cuts.append(day['now_confirm_cuts']) p_heal_cuts.append(day['heal_cuts']) p_newConfirm.append(int(day['newConfirm'])) p_newHeal.append(int(day['newHeal'])) p_newDead.append(int(day['newDead'])) p_description.append(day['description']) # 指定file以utf-8的格式打开 file = Workbook(encoding='utf-8') # 指定打开的文件名 table = file.add_sheet('data') t1_name = ['date', 'confirm', 'dead', 'heal', 'confirm_add', 'confirm_cuts', 'dead_cuts', 'now_confirm_cuts', 'heal_cuts', 'newConfirm', 'newHeal', 'newDead', 'description'] for i in range(len(t1_name)): table.write(0, i, t1_name[i]) for i in range(len(p_date)): table.write(i + 1, 0, p_date[i]) table.write(i + 1, 1, p_confirm[i]) table.write(i + 1, 2, p_dead[i]) table.write(i + 1, 3, p_heal[i]) table.write(i + 1, 4, p_confirm_add[i]) table.write(i + 1, 5, p_confirm_cuts[i]) table.write(i + 1, 6, p_dead_cuts[i]) table.write(i + 1, 7, p_now_confirm_cuts[i]) table.write(i + 1, 8, p_heal_cuts[i]) table.write(i + 1, 9, p_newConfirm[i]) table.write(i + 1, 10, p_newHeal[i]) table.write(i + 1, 11, p_newDead[i]) table.write(i + 1, 12, p_description[i]) cf.createFile(rootPath+'/中国各省市历史疫情信息') file.save(rootPath+'/中国各省市历史疫情信息/'+p_name+'.xlsx')
def main(): dwf.createFile(readPath) dwf.createFile(savaPath) china_map_confirm() china_map_NewAddConfirm() china_map_heal() china_map_dead() china_map_nowConfirm() bar_now() china_line() return page.render(savaPath + '/analyse_all.html') # 生成包含所有图像的网页并存放在analyse_all.html
def new_static(): dwf.createFile(savePath) data1 = pd.read_excel(readPath+'/中国总体历史疫情信息/历史每日新增信息.xlsx') data2 = pd.read_excel(readPath+'/中国总体历史疫情信息/历史总体信息.xlsx') data3 = pd.read_excel(readPath+'/世界总体疫情信息/世界总体疫情信息.xlsx') a = data3.sum() a['name'] = '世界' a['continent'] = '世界' data1.iloc[-1, :].to_json(savePath+'/今日历史数据.json') data2.iloc[-1, :].to_json(savePath+'/今日新增数据.json') a.to_json(savePath+'/世界最新数据.josn')
def main(): dwf.createFile(savePath) Countrytotalsynthesis() Chinaprovince() Worldtime() Chinatime() WorldMaptime() ChinaMaptime() ChinatotalMap() ChinanowdayMap() ProvincecityMap()
def allRun(): #创建数据目录data cf.createFile() # 国外疫情数据 getForeignData.main() # 国内疫情数据 getChinaData.main() # 中国各省市(区)疫情数据 getProvinceData.main() # 中国各省市(区)历史疫情数据 getProvinceTrend.main() # 国外历史疫情数据 getForeignTrend.main()
def main(): dwf.createFile(readPath) # 创建不存在的文件夹data dwf.createFile(savaPath) # 创建不存在的文件夹../data/data_Map_analyse1 china_history_all() china_provinces_imports() china_provinces_history() china_citys_history() china_data_all() foregin_history_all() foregin_city_all() world_data_all() Top10_confirm_country() return page.render(savaPath + '/analyse_all1.html') # 生成包含所有图像的网页并存放在analyse_all.html
def china_total_data(): chinaDayList = all_data["chinaDayList"] date_list1 = list() total_confirm = list() total_suspect = list() total_dead = list() total_heal = list() total_nowConfirm = list() total_nowSevere = list() total_importedCase = list() total_deadRate = list() total_healRate = list() total_noInfect = list() for total in chinaDayList: date_list1.append(total['date'][:2] + "/" + total['date'][3:]) total_confirm.append(int(total['confirm'])) # 累计确诊 total_suspect.append(int(total['suspect'])) # 疑似 total_dead.append(int(total['dead'])) # 累计死亡 total_heal.append(int(total['heal'])) # 累计治愈 total_nowConfirm.append(int(total['nowConfirm'])) total_nowSevere.append(int(total['nowSevere'])) total_importedCase.append(int(total['importedCase'])) # 境外输入 total_deadRate.append(float(total['deadRate'])) total_healRate.append(float(total['healRate'])) total_noInfect.append(int(total['noInfect'])) # 指定file以utf-8的格式打开 file = Workbook(encoding='utf-8') # 指定打开的文件名 table = file.add_sheet('data') t1_name = [ 'date', 'confirm', 'suspect', 'dead', 'heal', 'nowConfirm', 'nowSevere', 'importedCase', 'deadRate', 'healRate', 'noInfect' ] for i in range(len(t1_name)): table.write(0, i, t1_name[i]) for i in range(len(date_list1)): table.write(i + 1, 0, date_list1[i]) table.write(i + 1, 1, total_confirm[i]) table.write(i + 1, 2, total_suspect[i]) table.write(i + 1, 3, total_dead[i]) table.write(i + 1, 4, total_heal[i]) table.write(i + 1, 5, total_nowConfirm[i]) table.write(i + 1, 6, total_nowSevere[i]) table.write(i + 1, 7, total_importedCase[i]) table.write(i + 1, 8, total_deadRate[i]) table.write(i + 1, 9, total_healRate[i]) table.write(i + 1, 10, total_noInfect[i]) cf.createFile(rootPath + '/中国总体历史疫情信息') file.save(rootPath + '中国总体历史疫情信息/历史总体信息.xlsx')
def foregin_history_all(): path = readPath + '/各国历史疫情信息' path2 = savaPath + '/各国历史疫情信息' dwf.createFile(path2) Filelist = [] # 将当前文件夹内的所有表名存放此列表 for home, dirs, files in os.walk(path): for filename in files: Filelist.append(filename) for i in Filelist: data = pd.read_excel(readPath + '/各国历史疫情信息/%s' % (i), index=False) n = i[:-5] # 只提取国家名,不要后缀(.xlsx) y1_confirm = data['confirm'] y2_confirm_add = data['confirm_add'] y3_heal = data['heal'] y4_dead = data['dead'] date_list = [] for j in data['date']: date_list.append(j) x = date_list lines = ( Line() .add_xaxis(xaxis_data=x) .add_yaxis(series_name='确诊人数', y_axis=y1_confirm, is_symbol_show=True, label_opts=opts.LabelOpts(is_show=False), markpoint_opts=opts.MarkPointOpts(data=[opts.MarkPointItem(type_="max"), ])) .add_yaxis(series_name='增加确诊人数', y_axis=y2_confirm_add, is_symbol_show=True, label_opts=opts.LabelOpts(is_show=False), markpoint_opts=opts.MarkPointOpts(data=[opts.MarkPointItem(type_="max"), ])) .add_yaxis(series_name='治愈人数', y_axis=y3_heal, is_symbol_show=True, label_opts=opts.LabelOpts(is_show=False), markpoint_opts=opts.MarkPointOpts(data=[opts.MarkPointItem(type_="max"), ])) .add_yaxis(series_name='死亡人数', y_axis=y4_dead, is_symbol_show=True, label_opts=opts.LabelOpts(is_show=False), markpoint_opts=opts.MarkPointOpts(data=[opts.MarkPointItem(type_="max"), ])) .set_global_opts(title_opts=opts.TitleOpts(title="%s" % (n) + "疫情走势", subtitle="数据来源:腾讯新闻"), yaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(font_size=10, interval=3))) ) # lines.render(savaPath + '\\daliy_changes_view\\各国历史疫情信息\\%s.html' % (n), index=False) if flag: dwf.write_to_file(savaPath + '/各国历史疫情信息/%s.txt' % (n),str(lines.dump_options_with_quotes())) page.add(lines)
def foreign_children_data(): foreign_data = all_data for country in foreign_data: country_name = list() country_date = list() country_nameMap = list() country_isUpdated = list() country_confirmAdd = list() country_confirmAddCut = list() country_confirm = list() country_suspect = list() country_dead = list() country_heal = list() if 'children' in country: for children in country['children']: country_name.append(children['name']) country_date.append(children['date']) country_nameMap.append(children['nameMap']) country_isUpdated.append(children['isUpdated']) country_confirmAdd.append(int(children['confirmAdd'])) country_confirmAddCut.append(int(children['confirmAddCut'])) country_confirm.append(int(children['confirm'])) country_suspect.append(int(children['suspect'])) country_dead.append(int(children['dead'])) country_heal.append(int(children['heal'])) # 指定file以utf-8的格式打开 file = Workbook(encoding='utf-8') # 指定打开的文件名 table = file.add_sheet('data') t2_name = [ 'name', 'date', 'nameMap', 'isUpdated', 'confirmAdd', 'confirmAddCut', 'confirm', 'suspect', 'dead', 'heal' ] for i in range(len(t2_name)): table.write(0, i, t2_name[i]) for i in range(len(country_name)): table.write(i + 1, 0, country_name[i]) table.write(i + 1, 1, country_date[i]) table.write(i + 1, 2, country_nameMap[i]) table.write(i + 1, 3, country_isUpdated[i]) table.write(i + 1, 4, country_confirmAdd[i]) table.write(i + 1, 5, country_confirmAddCut[i]) table.write(i + 1, 6, country_confirm[i]) table.write(i + 1, 7, country_suspect[i]) table.write(i + 1, 8, country_dead[i]) table.write(i + 1, 9, country_heal[i]) cf.createFile(rootPath + '/各国各地区疫情信息') file.save(rootPath + '/各国各地区疫情信息/' + country['name'] + '.xlsx')
def province_today_data(): areaTree = all_data province_name = list() province_today_confirm = list() province_today_confirmCuts = list() province_today_dead = list() province_today_heal = list() province_today_importedCase = list() for province in areaTree: province_name.append(province['name']) province_today_confirm.append(int(province['today']['confirm'])) province_today_confirmCuts.append(int( province['today']['confirmCuts'])) if 'dead' in province['today']: province_today_dead.append(int(province['today']['dead'])) else: province_today_dead.append(0) if 'heal' in province['today']: province_today_heal.append(int(province['today']['heal'])) else: province_today_heal.append(0) if 'importedCase' in province['total']: province_today_importedCase.append( int(province['total']['importedCase'])) # 境外输入 else: province_today_importedCase.append(0) # 指定file以utf-8的格式打开 file = Workbook(encoding='utf-8') # 指定打开的文件名 table = file.add_sheet('data') t2_name = [ 'name', 'confirm', 'confirmCuts', 'dead', 'heal', 'importedCase' ] for i in range(len(t2_name)): table.write(0, i, t2_name[i]) for i in range(len(province_name)): table.write(i + 1, 0, province_name[i]) table.write(i + 1, 1, province_today_confirm[i]) table.write(i + 1, 2, province_today_confirmCuts[i]) table.write(i + 1, 3, province_today_dead[i]) table.write(i + 1, 4, province_today_heal[i]) table.write(i + 1, 5, province_today_importedCase[i]) cf.createFile(rootPath + '/中国各省市总体疫情信息') file.save(rootPath + '/中国各省市总体疫情信息/中国各省市(区)今日新增疫情信息.xlsx')
def china_everyday_data(): chinaDayAddList = all_data["chinaDayAddList"] date_list2 = list() everyday_confirm = list() everyday_suspect = list() everyday_dead = list() everyday_heal = list() everyday_importedCase = list() everyday_infect = list() everyday_deadRate = list() everyday_healRate = list() for everyday in chinaDayAddList: date_list2.append(everyday['date'][:2] + "/" + everyday['date'][3:]) everyday_confirm.append(int(everyday['confirm'])) # 累计确诊 everyday_suspect.append(int(everyday['suspect'])) # 疑似 everyday_dead.append(int(everyday['dead'])) # 累计死亡 everyday_heal.append(int(everyday['heal'])) # 累计治愈 everyday_importedCase.append(int(everyday['importedCase'])) # 境外输入 everyday_infect.append(int(everyday['infect'])) everyday_deadRate.append(float(everyday['deadRate'])) everyday_healRate.append(float(everyday['healRate'])) # 指定file以utf-8的格式打开 file = Workbook(encoding='utf-8') # 指定打开的文件名 table = file.add_sheet('data') t2_name = [ 'date', 'confirm', 'suspect', 'dead', 'heal', 'importedCase', 'infect', 'deadRate', 'healRate' ] for i in range(len(t2_name)): table.write(0, i, t2_name[i]) for i in range(len(date_list2)): table.write(i + 1, 0, date_list2[i]) table.write(i + 1, 1, everyday_confirm[i]) table.write(i + 1, 2, everyday_suspect[i]) table.write(i + 1, 3, everyday_dead[i]) table.write(i + 1, 4, everyday_heal[i]) table.write(i + 1, 5, everyday_importedCase[i]) table.write(i + 1, 6, everyday_infect[i]) table.write(i + 1, 7, everyday_deadRate[i]) table.write(i + 1, 8, everyday_healRate[i]) cf.createFile(rootPath + '/中国总体历史疫情信息') file.save(rootPath + '/中国总体历史疫情信息/历史每日新增信息.xlsx')
def foreign_trend(): # 获取国家名字 foreign_data = all_data foreign_name = list() for country in foreign_data: foreign_name.append(country['name']) # 国家名字 # 获取各国每日数据 # foreign_trend_data = {} for name in foreign_name: t = getData.getForeignTrendData(name) # foreign_trend_data[name] = t foreign_every_date = list() foreign_every_confirm_add = list() foreign_every_confirm = list() foreign_every_heal = list() foreign_every_dead = list() for day in t: foreign_every_date.append(day['date'][:2] + "/" + day['date'][3:]) foreign_every_confirm_add.append(int(day['confirm_add'])) foreign_every_confirm.append(int(day['confirm'])) foreign_every_heal.append(int(day['heal'])) foreign_every_dead.append(int(day['dead'])) # 指定file以utf-8的格式打开 file = Workbook(encoding='utf-8') # 指定打开的文件名 table = file.add_sheet('data') t1_name = ['date', 'confirm_add', 'confirm', 'heal', 'dead'] for i in range(len(t1_name)): table.write(0, i, t1_name[i]) for i in range(len(foreign_every_date)): table.write(i + 1, 0, foreign_every_date[i]) table.write(i + 1, 1, foreign_every_confirm_add[i]) table.write(i + 1, 2, foreign_every_confirm[i]) table.write(i + 1, 3, foreign_every_heal[i]) table.write(i + 1, 4, foreign_every_dead[i]) cf.createFile(rootPath + '/各国历史疫情信息') file.save(rootPath + '/各国历史疫情信息/' + name + '.xlsx')
def foreign_total_data(): foreign_data = all_data foreign_name = list() foreign_total_continent = list() foreign_total_isUpdated = list() foreign_total_confirmAdd = list() foreign_total_confirmAddCut = list() foreign_total_confirm = list() foreign_total_suspect = list() foreign_total_dead = list() foreign_total_heal = list() foreign_total_nowConfirm = list() foreign_total_confirmCompare = list() foreign_total_nowConfirmCompare = list() foreign_total_healCompare = list() foreign_total_deadCompare = list() # foreign_total_children = list() for country in foreign_data: foreign_name.append(country['name']) # 国家名字 foreign_total_continent.append(country['continent']) foreign_total_isUpdated.append(country['isUpdated']) foreign_total_confirmAdd.append(int(country['confirmAdd'])) foreign_total_confirmAddCut.append(int(country['confirmAddCut'])) foreign_total_confirm.append(int(country['confirm'])) foreign_total_suspect.append(int(country['suspect'])) foreign_total_dead.append(int(country['dead'])) foreign_total_heal.append(int(country['heal'])) foreign_total_nowConfirm.append(int(country['nowConfirm'])) foreign_total_confirmCompare.append(int(country['confirmCompare'])) foreign_total_nowConfirmCompare.append( int(country['nowConfirmCompare'])) foreign_total_healCompare.append(int(country['healCompare'])) foreign_total_deadCompare.append(int(country['deadCompare'])) # foreign_total_children.append(country['children']) # 指定file以utf-8的格式打开 file = Workbook(encoding='utf-8') # 指定打开的文件名 table = file.add_sheet('data') t1_name = [ 'name', 'continent', 'isUpdated', 'confirmAdd', 'confirmAddCut', 'confirm', 'suspect', 'dead', 'heal', 'nowConfirm', 'confirmCompare', 'nowConfirmCompare', 'healCompare', 'deadCompare' ] for i in range(len(t1_name)): table.write(0, i, t1_name[i]) for i in range(len(foreign_name)): table.write(i + 1, 0, foreign_name[i]) table.write(i + 1, 1, foreign_total_continent[i]) table.write(i + 1, 2, foreign_total_isUpdated[i]) table.write(i + 1, 3, foreign_total_confirmAdd[i]) table.write(i + 1, 4, foreign_total_confirmAddCut[i]) table.write(i + 1, 5, foreign_total_confirm[i]) table.write(i + 1, 6, foreign_total_suspect[i]) table.write(i + 1, 7, foreign_total_dead[i]) table.write(i + 1, 8, foreign_total_heal[i]) table.write(i + 1, 9, foreign_total_nowConfirm[i]) table.write(i + 1, 10, foreign_total_confirmCompare[i]) table.write(i + 1, 11, foreign_total_nowConfirmCompare[i]) table.write(i + 1, 12, foreign_total_healCompare[i]) table.write(i + 1, 13, foreign_total_deadCompare[i]) cf.createFile(rootPath + '/世界总体疫情信息') file.save(rootPath + '/世界总体疫情信息/世界总体疫情信息.xlsx')
def china_citys_history(): page1 = Page() dwf.createFile(savaPath+'/中国各省的城市历史疫情信息') path = readPath + '中国各省的城市历史疫情信息' floder = glob.glob(os.path.join(path, "*")) # 判断数据是否存在 def checknan(name): if np.any(pd.isnull(name)) == True: name.fillna(value="0", inplace=True) for name in floder: for root, dirs, files in os.walk(name, topdown=False): for filename in files: name = ''.join('%s' % id for id in name) # print(type(filename)) # print(type(name)) filepath = name + '/' + filename filepath = filepath.replace('\\','/') data = pd.read_excel(filepath, index=False) province_name = re.findall('([\u4e00-\u9fa5]*)\\\\[\u4e00-\u9fa5]*\.xlsx', filepath) province_name = ''.join('%s' % id for id in province_name) city_name = re.findall('([\u4e00-\u9fa5]*)\.xlsx', filepath) city_name = ''.join('%s' % id for id in city_name) # print(province_name+'and'+city_name) checknan(data['confirm']) checknan(data['confirm_add']) checknan(data['heal']) checknan(data['dead']) y1_confirm = data['confirm'] y1_confirm = list(y1_confirm) y1_confirm = [int(i) for i in y1_confirm] y2_confirm_add = data['confirm_add'] y2_confirm_add = list(y2_confirm_add) y2_confirm_add = [int(i) for i in y2_confirm_add] y3_heal = data['heal'] y3_heal = list(y3_heal) y3_heal = [int(i) for i in y3_heal] y4_dead = data['dead'] y4_dead = list(y4_dead) y4_dead = [int(i) for i in y4_dead] date_list = [] for j in data['date']: date_list.append(j) x = date_list lines = ( Line() .add_xaxis(xaxis_data=x) .add_yaxis(series_name='确诊人数', y_axis=y1_confirm, is_symbol_show=True, label_opts=opts.LabelOpts(is_show=False), markpoint_opts=opts.MarkPointOpts(data=[opts.MarkPointItem(type_="max"), ])) .add_yaxis(series_name='增加确诊人数', y_axis=y2_confirm_add, is_symbol_show=True, label_opts=opts.LabelOpts(is_show=False), markpoint_opts=opts.MarkPointOpts(data=[opts.MarkPointItem(type_="max"), ])) .add_yaxis(series_name='治愈人数', y_axis=y3_heal, is_symbol_show=True, label_opts=opts.LabelOpts(is_show=False), markpoint_opts=opts.MarkPointOpts(data=[opts.MarkPointItem(type_="max"), ])) .add_yaxis(series_name='死亡人数', y_axis=y4_dead, is_symbol_show=True, label_opts=opts.LabelOpts(is_show=False), markpoint_opts=opts.MarkPointOpts(data=[opts.MarkPointItem(type_="max"), ])) .set_global_opts( title_opts=opts.TitleOpts(title="%s" % (city_name) + "疫情走势", subtitle="数据来源:腾讯新闻"), yaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(font_size=10, interval=3))) ) name1 = name.replace('data/中国各省的城市历史疫情信息\\', 'data/data_DaliyChangeView/中国各省的城市历史疫情信息/') dwf.createFile(name1) save_path = name1 + '%s.txt' # lines.render(save_path % (city_name), index=False) page1.add(lines) # 将图像加入同一页 if flag: dwf.write_to_file(save_path % (city_name), str(lines.dump_options_with_quotes())) page.render(savaPath + '/中国各省的城市历史疫情信息/analyse_all.html')
def china_provinces_history(): page1 = Page() path2 = savaPath + '/中国各省市历史疫情信息' dwf.createFile(path2) path = readPath + '/中国各省市历史疫情信息' Filelist = [] for home, dirs, files in os.walk(path): for filename in files: Filelist.append(filename) # print(Filelist) def checknan(name): if np.any(pd.isnull(name)) == True: name.fillna(value="0", inplace=True) for i in Filelist: data = pd.read_excel(readPath + '/中国各省市历史疫情信息/%s' % (i), index=False) n = i[:-5] checknan(data['confirm']) checknan(data['confirm_add']) checknan(data['heal']) checknan(data['dead']) y1_confirm = data['confirm'] y1_confirm = list(y1_confirm) y1_confirm = [int(i) for i in y1_confirm] y2_confirm_add = data['confirm_add'] y2_confirm_add = list(y2_confirm_add) y2_confirm_add = [int(i) for i in y2_confirm_add] y3_heal = data['heal'] y3_heal = list(y3_heal) y3_heal = [int(i) for i in y3_heal] y4_dead = data['dead'] y4_dead = list(y4_dead) y4_dead = [int(i) for i in y4_dead] date_list = [] for j in data['date']: date_list.append(j) x = date_list linse12 = ( Line() .add_xaxis(xaxis_data=x) .add_yaxis(series_name='确诊人数', y_axis=y1_confirm, is_symbol_show=True, label_opts=opts.LabelOpts(is_show=False), markpoint_opts=opts.MarkPointOpts(data=[opts.MarkPointItem(type_="max"), ])) .add_yaxis(series_name='增加确诊人数', y_axis=y2_confirm_add, is_symbol_show=True, label_opts=opts.LabelOpts(is_show=False), markpoint_opts=opts.MarkPointOpts(data=[opts.MarkPointItem(type_="max"), ])) .add_yaxis(series_name='治愈人数', y_axis=y3_heal, is_symbol_show=True, label_opts=opts.LabelOpts(is_show=False), markpoint_opts=opts.MarkPointOpts(data=[opts.MarkPointItem(type_="max"), ])) .add_yaxis(series_name='死亡人数', y_axis=y4_dead, is_symbol_show=True, label_opts=opts.LabelOpts(is_show=False), markpoint_opts=opts.MarkPointOpts(data=[opts.MarkPointItem(type_="max"), ])) .set_global_opts(title_opts=opts.TitleOpts(title="%s" % (n) + "疫情走势", subtitle="数据来源:腾讯新闻"), yaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(font_size=10, interval=3))) ) # lines.render(savaPath + '\\daliy_changes_view\\中国各省市历史疫情信息\\%s.html' % (n), index=False) page1.add(linse12) # 将图像加入同一页 if flag: dwf.write_to_file(savaPath + '/中国各省市历史疫情信息/%s.txt' % (n), str(linse12.dump_options_with_quotes())) page.render(savaPath + '/中国各省市历史疫情信息/analyse_all.html')
def foregin_city_all(): path = readPath + '/各国各地区疫情信息' path2 = savaPath + '/各国疫情严重程度排名前十地区信息' dwf.createFile(path2) Filelist = [] # 将当前文件夹内的所有表名存放此列表 for home, dirs, files in os.walk(path): for filename in files: Filelist.append(filename) # 判断数据是否存在 def checknan(name): if np.any(pd.isnull(name)) == True: name.fillna(value="0", inplace=True) # 随机颜色生成用于制作南丁格尔玫瑰图 def randomcolor(kind): colors = [] for i in range(kind): colArr = ['1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'] color = "" for i in range(6): color += colArr[random.randint(0, 14)] colors.append("#" + color) return colors for i in Filelist: page1 = Page() data = pd.read_excel(readPath + '/各国各地区疫情信息/%s' % (i), index=False) data_sort = data.sort_values(axis=0, ascending=False, by=['confirm']) data_message = data_sort.head(10) # 提取疫情严重程度排名前十地区的信息 n = i[:-5] # 只提取国家名,不要后缀(.xlsx) checknan(data_message['confirm']) checknan(data_message['heal']) checknan(data_message['dead']) y1_confirm = data_message['confirm'] y1_confirm = list(y1_confirm) y1_confirm = [int(i) for i in y1_confirm] y2_dead = data_message['dead'] y2_dead = list(y2_dead) y2_dead = [int(i) for i in y2_dead] y3_heal = data_message['heal'] y3_heal = list(y3_heal) y3_heal = [int(i) for i in y3_heal] name_list = [] for j in data_message['name']: name_list.append(j) x = name_list color_series = randomcolor(len(x)) # Bars = ( # Bar(init_opts=opts.InitOpts(width='1080px',height='700px')) # .add_xaxis(xaxis_data=x) # .add_yaxis(series_name='确诊人数', yaxis_data=y1_confirm) # ) #####画南丁格尔玫瑰图########## # 画出确诊人数的图 fig = Pie(init_opts=opts.InitOpts(width='500px', height='700px')) fig.add("", [list(z) for z in zip(x, y1_confirm)], radius=['30%', '135%'], center=['50%', '65%'], rosetype='area') fig.set_global_opts(title_opts=opts.TitleOpts(title=n + '疫情严重程度排名前十地区的确诊人数'), legend_opts=opts.LegendOpts(is_show=False)) fig.set_series_opts(label_opts=opts.LabelOpts(is_show=True, position='inside', font_size=12, formatter='{b}:{c}例', font_style='italic', font_weight='bold', font_family='Microsoft YaHei')) # b:province;c:num fig.set_colors(color_series) # 画出死亡人数的图 fig1 = Pie(init_opts=opts.InitOpts(width='500px', height='700px')) fig1.add("", [list(z) for z in zip(x, y2_dead)], radius=['30%', '135%'], center=['50%', '65%'], rosetype='area') fig1.set_global_opts(title_opts=opts.TitleOpts(title=n + '疫情严重程度排名前十地区的死亡人数'), legend_opts=opts.LegendOpts(is_show=False)) fig1.set_series_opts(label_opts=opts.LabelOpts(is_show=True, position='inside', font_size=12, formatter='{b}:{c}例', font_style='italic', font_weight='bold', font_family='Microsoft YaHei')) # b:province;c:num # 画出治愈人数的图 fig2 = Pie(init_opts=opts.InitOpts(width='500px', height='700px')) fig2.add("", [list(z) for z in zip(x, y3_heal)], radius=['30%', '135%'], center=['50%', '65%'], rosetype='area') fig2.set_global_opts(title_opts=opts.TitleOpts(title=n + '疫情严重程度排名前十地区的治愈人数'), legend_opts=opts.LegendOpts(is_show=False)) fig2.set_series_opts(label_opts=opts.LabelOpts(is_show=True, position='inside', font_size=12, formatter='{b}:{c}例', font_style='italic', font_weight='bold', font_family='Microsoft YaHei')) # b:province;c:num page1.add(fig) # 将图像加入同一页 page1.add(fig1) # 将图像加入同一页 page1.add(fig2) # 将图像加入同一页 page1.render(savaPath + '/各国疫情严重程度排名前十地区信息/%s.html' % (n), index=False) if flag: dwf.write_to_file(savaPath + '/各国疫情严重程度排名前十地区信息/(确诊)%s.txt' % (n),str(fig.dump_options_with_quotes())) dwf.write_to_file(savaPath + '/各国疫情严重程度排名前十地区信息/(死亡)%s.txt' % (n),str(fig1.dump_options_with_quotes())) dwf.write_to_file(savaPath + '/各国疫情严重程度排名前十地区信息/(治愈)%s.txt' % (n),str(fig2.dump_options_with_quotes()))