python可视化操作(二)爬取湖北省统计局数据绘制excel表格

在这里写了一个比较简单的爬虫,爬取了湖北省统计局关于居民消费价格指数的一些简单信息,然后绘制成excel表格输出。一来是为了复习一下爬虫的简单知识,一是为了熟悉一下python操作excel的技术。

湖北省统计局数据截图
转换成功之后
爬取成功后数据打印在excel表格中

#http://data.stats.gov.cn/easyquery.htm?cn=G0103
from urllib.request import urlopen
from bs4 import BeautifulSoup
import xlwt

def crawl():
    #打开网页
    html = urlopen("http://data.hb.stats.cn/CityData.aspx?DataType=65&ReportType=1")
    bsObj = BeautifulSoup(html.read(), "html5lib")

    titles = []
    for title in bsObj.find("tr", {"class":"tr-title"}).find_all("td"):
        titles.append(title.getText())
    # datas = []
    # for data in bsObj.find("tr", {"class":"tr-title"}).find("")
    print (titles)


    datas = []
    dd = []
    for data in bsObj.find_all("tr", {"class":"tr-title"}):
        for d in data.find_all("td"):
            dd.append(d.getText())
        datas.append(dd)
        dd = []    
    print (datas)
    return datas

def set_style(name, height, bold = False):
    style = xlwt.XFStyle() #初始化样式
    font = xlwt.Font() #为样式创建字体
    font.name = name
    font.bold = bold
    font.color_index = 4
    font.height = height
    style.font = font
    return style

def write_excel():
    #创建工作簿
    workbook = xlwt.Workbook(encoding="utf-8")
    #创建sheet
    data_sheet = workbook.add_sheet("show_data")

    datas = crawl()

    index = 0
    for i in datas:
        for x, item in enumerate(i):
            data_sheet.write(index, x, item, set_style('Times New Roman',220, True))
        index += 1

    workbook.save("data.xls")


if __name__ == '__main__':
    write_excel()
    print("创建你xlsx文件成功")

好的,以下是一个关于2019年粤港澳地区GDP情况的可视化地图案例,同样使用了pyecharts地理图表,并且实现了动态演示数据的效果: ```python import pandas as pd import numpy as np import random from pyecharts import options as opts from pyecharts.charts import Map from pyecharts.faker import Faker from pyecharts.globals import ThemeType from pyecharts.commons.utils import JsCode # 读取数据 data=pd.read_excel('gdp_guangdong_hk_macau.xlsx') # 绘制地图 map=Map() map.add("2019年粤港澳地区GDP",list(zip(data['地区'],data['GDP'])), "world",is_map_symbol_show=False) map.set_global_opts(title_opts=opts.TitleOpts(title="2019年粤港澳地区GDP情况", subtitle="数据来源:国家统计局"), visualmap_opts=opts.VisualMapOpts(max_=1000000)) # 实现动态效果 values=list(data['GDP']) gdp_max=max(values) gdp_min=min(values) gdp_range=gdp_max-gdp_min def get_random_values(): return [random.randint(gdp_min,gdp_max) for _ in range(len(data))] def update_map(): map.set_series_opts(label_opts=opts.LabelOpts(is_show=True)) map.set_global_opts(visualmap_opts=opts.VisualMapOpts(max_=gdp_range), title_opts=opts.TitleOpts(title="2019年粤港澳地区GDP情况", subtitle="数据来源:国家统计局"), graphic_text_opts=opts.GraphicTextOpts( graphic_item=opts.GraphicItem( left="center", top="center" ), graphic_textstyle_opts=opts.GraphicTextStyleOpts( text="数据更新中......", font="bold 20px Microsoft YaHei", graphic_basicstyle_opts=opts.GraphicBasicStyleOpts( fill="rgba(0,0,0,0.3)" ) ) ) ) data['GDP']=get_random_values() map.set_data_pair(list(zip(data['地区'],data['GDP']))) return map.dump_options_with_quotes() # 执行动态效果 map.add_js_funcs("setInterval(function (){" "option="+update_map()+";" "myChart.setOption(option);" "}, 2000);") map.render("gdp_guangdong_hk_macau.html") ``` 这段代码同样读取一个名为"gdp_guangdong_hk_macau.xlsx"的数据文件,其中包含了粤港澳地区的GDP数据。然后使用pyecharts库中的Map类,将数据绘制在地图上。最后使用add_js_funcs()方法实现了动态效果,每隔2秒钟更新一次数据。 这个案例还使用了pyecharts库中的Faker类,用来生成一些假数据。如果您的数据是实时更新的,可以将get_random_values()函数替换为从网站或数据库中获取数据的代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值