千家信息网

python如何爬取基金股票最新数据并用excel绘制树状图

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,python如何爬取基金股票最新数据并用excel绘制树状图,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。大家好,最近大A的白马股们
千家信息网最后更新 2026年11月03日python如何爬取基金股票最新数据并用excel绘制树状图

python如何爬取基金股票最新数据并用excel绘制树状图,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

大家好,最近大A的白马股们简直跌妈不认,作为重仓了抱团白马股基金的养鸡少年,每日那是一个以泪洗面啊。

跌妈不认

不过从金融界最近一个交易日的大盘云图来看,其实很多中小股还是红色滴,绿的都是白马股们。

那么,今天我们试着用python爬取最近交易日的股票数据,并试着用excel简单绘制上面这个树状图。

  • 爬取网易财经各板块股票数据

  • excel树状图

  • 简单的树状图

  • 带有增长率的树状图

一、爬取网易财经各板块股票数据

目标网址:

http://quotes.money.163.com/old/#query=hy010000&DataType=HS_RANK&sort=PERCENT&order=desc&count=24&page=0

网易财经-行情中心

由于这个爬虫部分比较简单,这里不做过多赘述,仅介绍一下思路并附上完整代码供大家参考。

爬虫思路:

请求目标网站数据,解析出主要行业(新)的数据:行业板块名称及对应id(如金融,hy010000)

根据行业板块对应id构造新的行业股票数据网页

由于翻页网址不变,代入参数,获取全部页数,然后翻页爬取全部数据

爬虫代码:

# -*- coding: utf-8 -*-"""Created Feb 28 10:30:56 2021@author: 可以叫我才哥"""import requestsimport reimport pandas as pd# 获取全部板块及板块idurl = 'http://quotes.money.163.com/old/#query=hy001000&DataType=HS_RANK&sort=PERCENT&order=desc&count=24&page=0'r = requests.get(url)html = r.text# 替换非字符为空,便于下面的正则html = re.sub('\s','',html)# 正则获取 板块及id所在区域labelHtml = re.findall(r'主要行业\(新\)(.*?)证监会行业\(新\)',html)[0]# 正则板块和id,结果为由元组组成的列表label = re.findall(r'"qid="(hy.*?)"qquery=.*?"title="(.*?)">',labelHtml)# 转化为dataframe类型dfLabel = pd.DataFrame(label,columns=['id','板块'])# 根据板块id和翻页获取页面数据(json格式)def get_json(hy_id, page):    query = 'PLATE_IDS:' + str(hy_id)    params={        'host': 'http://quotes.money.163.com/hs/service/diyrank.php',        'page': page,        'query': query,        'fields': 'NO,SYMBOL,NAME,PRICE,PERCENT,UPDOWN,FIVE_MINUTE,OPEN,YESTCLOSE,HIGH,LOW,VOLUME,TURNOVER,HS,LB,WB,ZF,PE,MCAP,TCAP,MFSUM,MFRATIO.MFRATIO2,MFRATIO.MFRATIO10,SNAME,CODE,ANNOUNMT,UVSNEWS', #你可以不用这么多字段        'sort': 'PERCENT',        'order': 'desc',        'count': '24',        'type': 'query',        }    url = 'http://quotes.money.163.com/hs/service/diyrank.php?'    r = requests.get(url,params=params)    j = r.json()        return j# 空列表用于存取每页数据dfs = []# 遍历全部板块for hy_id,板块 in dfLabel.values:    # 获取页数    j = get_json(hy_id, 0)    pages = j['pagecount']        for page in range(pages):        j = get_json(hy_id, page)        data = j['list']        df = pd.DataFrame(data)        df['板块'] = 板块        dfs.append(df)    print(f'已爬取{len(dfs)}个板块数据')result = pd.concat(dfs)

二、excel树状图

excel树状图是在office2016级之后版本中新加的图表类型,想要绘制需要基于此版本及之后的版本哦。

简单的树状图绘制流程:框选数据->插入->图表->选中树状图 即可。

python爬取基金股票最新数据,并用excel绘制树状图

树状图绘制流程

以下图为例,在树状图中,每个色块代表一个省份,色块面积大小则由其GDP值大小决定。

2020年全国各地GDP

三、带有增长率的树状图

我们发现,在基础的树状图中,色块颜色除了区别色块之外并没有其他特殊含义。拿GDP来说,除了值之外我们一般也会去看其增长率,那么是否可以让色块颜色和增长率有关联呢?

下面我们试着探究一下,如果成功的话,那么金融界的大盘云图似乎也可以用excel树状图来进行绘制了不是!

1、思路:

我们希望色块颜色能代表增长率,比如红色是上涨,绿色是下降且颜色越深代表绝对值越大

再对每个色块进行对应的颜色填充即可

由于 树状图顶多支持多级,色块颜色也只能手动单一填充,怎么办呢?既然手动可以,那么其实就可以用VBA自动化这个过程咯。

2、增长率配色

基于上述思路,我们需要对增长率进行配色,最简单的就是用条件格式里的色阶。

框选增长率数据->开始->条件格式->色阶(选中那个让值越大颜色越红的,由于这里有负增长率,所以选了带红绿的):

python爬取基金股票最新数据,并用excel绘制树状图

为了更好的展示区分正负增长率,我们在设置完色阶后再进行管理规则:

我们将中间值设为数字0,这样负增长率就是绿色,正增长率就是红色;

我们将最大值设置为百分点值80,也就是增长率前80%的值都是最红的。

最终配色效果:

python爬取基金股票最新数据,并用excel绘制树状图

配色效果

四、VBA填充色块颜色

先看效果:

湖北因为收到疫情影响最大,有接近小半年属于封省状态,全年增长率为负数。

各省GDP及增长率

由于条件格式下单元格颜色是不固定的无法通过vba获取,我们需要将颜色赋值到新的一列中去,需要用到如下操作:

选中增长率数据复制,然后点击剪切板最右下角会出现剪贴板,再鼠标左键选择需要粘贴的地方如E2,点击剪贴板中需要粘贴的数据即可。 这个时候,被粘贴的单元格区域的颜色就是固定的了,你可以选择删除数据只留颜色部分。

python爬取基金股票最新数据,并用excel绘制树状图

单元格色复制操作流程

VBA思路:

  • 激活需要操作的图表(Activate)

  • 遍历全部的系列和数据点(ActiveChart.FullSeriesCollection(1).Points.Count)

  • 从第一个数据点开始,获取对应增长率单元格颜色(ActiveSheet.Range("E" & i + 1).Interior.Color)

  • 将单元格赋值给该数据点(Selection.Format.Fill.ForeColor.RGB)

VBA代码:

Sub My_Color()  ActiveSheet.ChartObjects("图表 1").Activate '遍历全部的数据点 For i = 1 To ActiveChart.FullSeriesCollection(1).Points.Count '选中数据点 ActiveChart.FullSeriesCollection(1).Points(i).Select '获取单元格颜色 MyColor = ActiveSheet.Range("E" & i + 1).Interior.Color '将单元格颜色赋值给对应数据点填充色 Selection.Format.Fill.ForeColor.RGB = MyColor Next

执行脚本过程如下:

关于python如何爬取基金股票最新数据并用excel绘制树状图问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。

数据 增长率 增长 板块 颜色 色块 单元 行业 股票 思路 图表 就是 格式 基金 代码 代表 效果 条件 正则 流程 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 深圳市人人互联网科技有限公司 科技互联网产品 美国互联网科技巨头监管 互联网 科技公司 深圳齐家互联网科技 互联网金融科技委员会 互联网科技有限公司 翻译 镁科技互联网资讯平台 互联网金融科技公司干啥的 互联网软件和科技 本届互联网博览会上的黑科技 河南住房之家互联网科技 明优互联网科技有限公司 广州富喜互联网络科技 扫呗互联网科技有限公司 济南小医互联网科技有限公司招聘 银川新华互联网科技学校是国营吗 数字互联网科技有限公司 互联网科技创业计划的风险分析 优雇互联网科技有限公司 百单网互联网科技有限公司怎么样 互联网科技垄断 以房互联网科技 互联网金融科技创新 菲比寻常互联网科技 一五八零互联网科技 茂名市互联网科技产业园 互联网科技企业商标注意事项 宁波允成互联网科技有限公司 前海云享互联网科技
0