亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

python爬取股票最新數(shù)據(jù)并用excel繪制樹(shù)狀圖的示例

瀏覽:4日期:2022-06-26 16:50:18

大家好,最近大A的白馬股們簡(jiǎn)直 跌媽不認(rèn),作為重倉(cāng)了抱團(tuán)白馬股基金的養(yǎng)雞少年,每日那是一個(gè)以淚洗面啊。

不過(guò)從金融界最近一個(gè)交易日的大盤(pán)云圖來(lái)看,其實(shí)很多中小股還是紅色滴,綠的都是白馬股們。

以下截圖來(lái)自金融界網(wǎng)站-大盤(pán)云圖:

python爬取股票最新數(shù)據(jù)并用excel繪制樹(shù)狀圖的示例

那么,今天我們?cè)囍胮ython爬取最近交易日的股票數(shù)據(jù),并試著用excel簡(jiǎn)單繪制以下上面這個(gè)樹(shù)狀圖。本文旨在拋磚引玉,吼吼。

1. python爬取網(wǎng)易財(cái)經(jīng)不同板塊股票數(shù)據(jù)目標(biāo)網(wǎng)址:

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

python爬取股票最新數(shù)據(jù)并用excel繪制樹(shù)狀圖的示例

由于這個(gè)爬蟲(chóng)部分比較簡(jiǎn)單,這里不做過(guò)多贅述,僅介紹一下思路并附上完整代碼供大家參考。

爬蟲(chóng)思路: 請(qǐng)求目標(biāo)網(wǎng)站數(shù)據(jù),解析出主要行業(yè)(新)的數(shù)據(jù):行業(yè)板塊名稱及對(duì)應(yīng)id(如金融,hy010000) 根據(jù)行業(yè)板塊對(duì)應(yīng)id構(gòu)造新的行業(yè)股票數(shù)據(jù)網(wǎng)頁(yè) 由于翻頁(yè)網(wǎng)址不變,按照《》的里的套路找到股票列表數(shù)據(jù)的真實(shí)地址 代入?yún)?shù),獲取全部頁(yè)數(shù),然后翻頁(yè)爬取全部數(shù)據(jù) 爬蟲(chóng)代碼:

# -*- 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所在區(qū)域labelHtml = re.findall(r’</span>主要行業(yè)(新)</a>(.*?)</span>證監(jiān)會(huì)行業(yè)(新)’,html)[0]# 正則板塊和id,結(jié)果為由元組組成的列表label = re.findall(r’'qid='(hy.*?)'qquery=.*?'title='(.*?)'>’,labelHtml)# 轉(zhuǎn)化為dataframe類型dfLabel = pd.DataFrame(label,columns=[’id’,’板塊’])# 根據(jù)板塊id和翻頁(yè)獲取頁(yè)面數(shù)據(jù)(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# 空列表用于存取每頁(yè)數(shù)據(jù)dfs = []# 遍歷全部板塊for hy_id,板塊 in dfLabel.values: # 獲取頁(yè)數(shù) 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)}個(gè)板塊數(shù)據(jù)’)result = pd.concat(dfs) 2. excel樹(shù)狀圖

excel樹(shù)狀圖是在office2016級(jí)之后版本中新加的圖表類型,想要繪制需要基于此版本及之后的版本哦。

2.1. 簡(jiǎn)單的樹(shù)狀圖

簡(jiǎn)單的樹(shù)狀圖繪制流程:框選數(shù)據(jù)—>插入—>圖表—>選中樹(shù)狀圖 即可。

python爬取股票最新數(shù)據(jù)并用excel繪制樹(shù)狀圖的示例

以下圖為例,在樹(shù)狀圖中,每個(gè)色塊代表一個(gè)省份,色塊面積大小則由其GDO值大小決定。

python爬取股票最新數(shù)據(jù)并用excel繪制樹(shù)狀圖的示例

2.2. 帶有增長(zhǎng)率的樹(shù)狀圖

我們發(fā)現(xiàn),在基礎(chǔ)的樹(shù)狀圖中,色塊顏色除了區(qū)別色塊之外并沒(méi)有其他特殊含義。拿GDP來(lái)說(shuō),除了值之外我們一般也會(huì)去看其增長(zhǎng)率,那么是否可以讓色塊顏色和增長(zhǎng)率有關(guān)聯(lián)呢?

下面我們?cè)囍骄恳幌拢绻晒Φ脑挘敲唇鹑诮绲拇蟊P(pán)云圖似乎也可以用excel樹(shù)狀圖來(lái)進(jìn)行繪制了不是!

思路:

我們希望色塊顏色能代表增長(zhǎng)率,比如紅色是上漲,綠色是下降且顏色越深代表絕對(duì)值越大 再對(duì)每個(gè)色塊進(jìn)行對(duì)應(yīng)的顏色填充即可

由于 樹(shù)狀圖頂多支持多級(jí),色塊顏色也只能手動(dòng)單一填充,怎么辦呢?既然手動(dòng)可以,那么其實(shí)就可以用VBA自動(dòng)化這個(gè)過(guò)程咯。

2.3.1. 增長(zhǎng)率配色

基于思路1,我們需要對(duì)增長(zhǎng)率進(jìn)行配色,最簡(jiǎn)單的就是用條件格式里的色階。

框選增長(zhǎng)率數(shù)據(jù)—>開(kāi)始—>條件格式—>色階(選中那個(gè)讓值越大顏色越紅的,由于這里有負(fù)增長(zhǎng)率,所以選了帶紅綠的):

python爬取股票最新數(shù)據(jù)并用excel繪制樹(shù)狀圖的示例

為了更好的展示區(qū)分正負(fù)增長(zhǎng)率,我們?cè)谠O(shè)置完色階后再進(jìn)行管理規(guī)則:

我們將中間值設(shè)為數(shù)字0,這樣負(fù)增長(zhǎng)率就是綠色,正增長(zhǎng)率就是紅色; 我們將最大值設(shè)置為百分點(diǎn)值80,也就是增長(zhǎng)率前80%的值都是最紅的。

python爬取股票最新數(shù)據(jù)并用excel繪制樹(shù)狀圖的示例

最終配色效果:

python爬取股票最新數(shù)據(jù)并用excel繪制樹(shù)狀圖的示例

2.3.2. VBA填充色塊顏色

先看效果:

湖北因?yàn)槭盏揭咔橛绊懽畲螅薪咏“肽陮儆诜馐顟B(tài),全年增長(zhǎng)率為負(fù)數(shù)。

python爬取股票最新數(shù)據(jù)并用excel繪制樹(shù)狀圖的示例

由于條件格式下單元格顏色是不固定的無(wú)法通過(guò)vba獲取,我們需要將顏色賦值到新的一列中去,需要用到如下操作:

**選中增長(zhǎng)率數(shù)據(jù)復(fù)制,然后點(diǎn)擊剪切板最右下角會(huì)出現(xiàn)剪貼板,再鼠標(biāo)左鍵選擇需要粘貼的地方如E2,點(diǎn)擊剪貼板中需要粘貼的數(shù)據(jù)即可。**這個(gè)時(shí)候,被粘貼的單元格區(qū)域的顏色就是固定的了,你可以選擇刪除數(shù)據(jù)只留顏色部分。

python爬取股票最新數(shù)據(jù)并用excel繪制樹(shù)狀圖的示例

VBA思路:

激活需要操作的圖表(Activate)

遍歷全部的系列和數(shù)據(jù)點(diǎn)(ActiveChart.FullSeriesCollection(1).Points.Count)

從第一個(gè)數(shù)據(jù)點(diǎn)開(kāi)始,獲取對(duì)應(yīng)增長(zhǎng)率單元格顏色(ActiveSheet.Range('E' & i + 1).Interior.Color)

將單元格賦值給該數(shù)據(jù)點(diǎn)(Selection.Format.Fill.ForeColor.RGB)

VBA代碼:

Sub My_Color() ActiveSheet.ChartObjects('圖表 1').Activate ’遍歷全部的數(shù)據(jù)點(diǎn) For i = 1 To ActiveChart.FullSeriesCollection(1).Points.Count ’選中數(shù)據(jù)點(diǎn) ActiveChart.FullSeriesCollection(1).Points(i).Select ’獲取單元格顏色 MyColor = ActiveSheet.Range('E' & i + 1).Interior.Color ’將單元格顏色賦值給對(duì)應(yīng)數(shù)據(jù)點(diǎn)填充色 Selection.Format.Fill.ForeColor.RGB = MyColor NextEnd Sub

執(zhí)行腳本過(guò)程如下:

好了,以上就是本次全部?jī)?nèi)容,大家可以試著爬取股票數(shù)據(jù),然后試著繪制一下。

溫馨提示:接近小5000股票數(shù)據(jù),vba填充色塊顏色會(huì)卡死,不建議全選操作。

以上就是python爬取股票最新數(shù)據(jù)并用excel繪制樹(shù)狀圖的示例的詳細(xì)內(nèi)容,更多關(guān)于python 爬取股票數(shù)據(jù)并繪圖的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: python
相關(guān)文章:
主站蜘蛛池模板: 国产成人综合久久精品亚洲 | 性生活国产 | 久久99精品久久久久久青青日本 | 亚洲第一页在线观看 | 日本永久免费 | av播播 | 在线播放高清国语自产拍免费 | 国产一区三区二区中文在线 | 日本人爽p大片免费看 | 伊人蕉久影院 | 日韩伦理一区二区三区 | 国内在线亚洲精品第一线 | 操丝袜美女视频 | 国产精品videosse | 国产在播放一区 | 日本乱人伦片中文三区 | 久久机热一这里只精品 | 国产精品第1页在线观看 | 成人国产在线视频在线观看 | 天堂久久久久va久久久久 | 黄色片在线免费看 | 九九久久免费视频 | 成成人看片在线 | 欧美另类网| 日本特黄特色aa大片免费 | 你懂的亚洲 | 免费在线观看黄色毛片 | 国产女主播真实视频在线观看 | 亚洲精品视频免费观看 | 成人亚洲国产综合精品91 | 夜色资源在线观看免费 | 国产欧美精品综合一区 | 国产欧美一区视频在线观看 | 香港毛片在线观看 | 2022麻豆福利午夜久久 | 国产精品99久久久久久宅男 | 日本aaa毛片 | 毛片免费全部完整播放 | 日韩一卡二卡三卡 | 综合婷婷丁香 | 日韩精品视频在线观看免费 |