kadin-1645695003110__PID:9a809d2d-f65a-4265-a3f6-cf00d292b1a3

Kadin Chung
鍾榮達

Kadin Chung 鍾榮達

Aug 02 2024

集保戶股權分散表爬蟲
從數據抓取到 Excel 報告

集保戶股權分散表爬蟲從數據抓取到 Excel 報告

本文摘要自「集保戶股權分散表爬蟲從數據抓取到 Excel 報告

目錄

  • 前言
  • 爬蟲數據
  • 程式碼說明
  • 呈現資料
  • 程式碼說明
  • 製作特定股票代號持股分級人數分布圖
  • 程式碼說明
  • 自動化儲存股票資料與視覺化圖表到 Excel
  • 程式碼說明
  • 結論
  • 參考資料
  • 相關課程

前言

在這篇文章中,我們將展示如何使用 Python 和 Plotly 工具來抓取和呈現集保戶股權分散表數據。集保戶股權分散表顯示了每檔股票的股東持股人數、持股比例以及在集保庫存中的佔比,這些信息對於理解公司股東結構和進行投資決策至關重要。

我們將通過以下步驟來完成整個過程:
1. 爬蟲數據:從網絡上抓取集保戶股權分散表數據,並儲存為 CSV 文件。
2. 數據呈現:選擇特定證券,使用 pandas 過濾數據,顯示其持股人數和比例。
3. 資料視覺化:使用 plotly 產生圖表,展示持股分級的人數分佈及其在集保庫存中的比例。
4. Excel 報告自動化:利用 xlwings 將圖表和數據自動儲存到 Excel 文件中,方便進一步分析和報告。

本文提供的 Python 實戰範例將幫助您掌握從數據抓取到報告生成的全過程,完整程式碼可以直接在這邊下載

🎃 南瓜說她很懊惱
自己前幾天打了小孩
她的小孩還沒成功戒掉尿布
不過肢體發展成熟,會自己換尿布了
偶爾耍賴撒嬌不想自己換,
南瓜也會幫他穿
那天晚上他又耍賴了,
但南瓜就是不想幫他換尿布
心裡一直碎念著:
他明明就可以自己處理
於是就一直跟小孩說:
「你已經長大了」
「你已經可以自己換尿布了」
「你已經有能力了」
「你不換尿布就光屁股睡覺好了」
最後僵持不下,南瓜就打了小孩
小孩放聲大哭,
先生過來直接幫小孩穿尿布
讓南瓜覺得自己無能又易怒
後來南瓜看著孩子的睡臉很歉疚
我帶著南瓜回到那一天
我問她:當時的妳氣色怎麼樣?
🎃 :很疲倦
⚡ :妳看著當時的自己,妳有什麼話想對她說?
🎃 :他只是個小孩,妳為什麼那麼失控?
(我心想:不不不,我不要妳責備自己啊,不過我們讓潛意識來處理吧)
⚡ :那當時的妳聽了有什麼反應?
🎃 :她面無表情
⚡ :是啊,妳是全世界最能理解她的人,她需要妳責備她嗎?
🎃 :不需要
⚡ :現在的妳有什麼話想對當時的自己說?
🎃 :妳看起來好累
🎃 :她哭了~~
⚡ :請妳看著兒子,把妳最真實的內心話說出來
🎃 :我不想幫你換尿布
⚡ :兒子聽到了有什麼反應?
🎃 :他傻住了
🎃 :他問我怎麼了,我說我好累,又好煩
🎃 :兒子抱著我,他在關心我~~~

我想用這一則潛意識翻譯記錄
來回應上一篇文章
護持能量的第一步是對自己誠實
累就是累
煩就是煩
有心事就是有心事
接下來就是真誠待人
有心事就別說「我沒事」
有關係就別說「沒關係」
我們能如實表達自己的感受
對方才有機會接住我們的情緒和需求
如果對自己不誠實
又找些冠冕堂皇的理由來掩蓋真相
(明明就是不想換尿布,又堅持說是在訓練兒子獨立)
那孩子得到的教養就是
我得找個光明正大的理由
才能滿足我內心的需求
那麼以後不想陪太太去跟岳家吃飯,就要假裝加班或出差
真正的需求不會被滿足
真正的問題不會被解決
重要的關係不能夠改善
我是很願意跟開心果說實話的媽媽
我會跟他說「我要接這通電話,
大概半小時,你去玩拼圖」
「媽媽很累,讓我賴床十分鐘」
「媽媽覺得這樣太吵了,
等一下就會很煩躁」
前幾天我生理期
他起床就去找阿嬤
等到要上學了
他回臥室找我「妳是不是起不來?」
我點點頭,
他說「那我跟阿嬤出門囉」
我說「放學我去接你!」
他就蹦蹦跳跳出發了
那時候我就覺得還好
我們一直都以真身示人
所以能夠互相體諒啊

爬蟲數據

首先,我們將從台灣政府資料開放平臺抓取最新的「集保戶股權分散表」數據,並將其儲存CSV檔案。這些資料已經是整理好的,所以我們不需要做其他額外的處理。

以下是使用 Python 來抓取和儲存這些資料的程式碼:


import pandas as pd

# 設定下載連結
url = '	https://opendata.tdcc.com.tw/getOD.ashx?id=1-5'

# 讀取資料
df = pd.read_csv(url)

# 儲存資料
local_filename = 'data.csv'
df.to_csv(local_filename, index=False)

print(f"處理後的資料已儲存為 {local_filename}")

df

🎃 南瓜說她很懊惱
自己前幾天打了小孩
她的小孩還沒成功戒掉尿布
不過肢體發展成熟,會自己換尿布了
偶爾耍賴撒嬌不想自己換,
南瓜也會幫他穿
那天晚上他又耍賴了,
但南瓜就是不想幫他換尿布
心裡一直碎念著:
他明明就可以自己處理
於是就一直跟小孩說:
「你已經長大了」
「你已經可以自己換尿布了」
「你已經有能力了」
「你不換尿布就光屁股睡覺好了」
最後僵持不下,南瓜就打了小孩
小孩放聲大哭,
先生過來直接幫小孩穿尿布
讓南瓜覺得自己無能又易怒
後來南瓜看著孩子的睡臉很歉疚
我帶著南瓜回到那一天
我問她:當時的妳氣色怎麼樣?
🎃 :很疲倦
⚡ :妳看著當時的自己,妳有什麼話想對她說?
🎃 :他只是個小孩,妳為什麼那麼失控?
(我心想:不不不,我不要妳責備自己啊,不過我們讓潛意識來處理吧)
⚡ :那當時的妳聽了有什麼反應?
🎃 :她面無表情
⚡ :是啊,妳是全世界最能理解她的人,她需要妳責備她嗎?
🎃 :不需要
⚡ :現在的妳有什麼話想對當時的自己說?
🎃 :妳看起來好累
🎃 :她哭了~~
⚡ :請妳看著兒子,把妳最真實的內心話說出來
🎃 :我不想幫你換尿布
⚡ :兒子聽到了有什麼反應?
🎃 :他傻住了
🎃 :他問我怎麼了,我說我好累,又好煩
🎃 :兒子抱著我,他在關心我~~~

我想用這一則潛意識翻譯記錄
來回應上一篇文章
護持能量的第一步是對自己誠實
累就是累
煩就是煩
有心事就是有心事
接下來就是真誠待人
有心事就別說「我沒事」
有關係就別說「沒關係」
我們能如實表達自己的感受
對方才有機會接住我們的情緒和需求
如果對自己不誠實
又找些冠冕堂皇的理由來掩蓋真相
(明明就是不想換尿布,又堅持說是在訓練兒子獨立)
那孩子得到的教養就是
我得找個光明正大的理由
才能滿足我內心的需求
那麼以後不想陪太太去跟岳家吃飯,就要假裝加班或出差
真正的需求不會被滿足
真正的問題不會被解決
重要的關係不能夠改善
我是很願意跟開心果說實話的媽媽
我會跟他說「我要接這通電話,
大概半小時,你去玩拼圖」
「媽媽很累,讓我賴床十分鐘」
「媽媽覺得這樣太吵了,
等一下就會很煩躁」
前幾天我生理期
他起床就去找阿嬤
等到要上學了
他回臥室找我「妳是不是起不來?」
我點點頭,
他說「那我跟阿嬤出門囉」
我說「放學我去接你!」
他就蹦蹦跳跳出發了
那時候我就覺得還好
我們一直都以真身示人
所以能夠互相體諒啊

程式碼說明

1. 讀取資料:使用 pandasread_csv 從指定的 URL 讀取 CSV 資料。
2. 儲存資料:將資料儲存為 data.csv
3. 顯示成功消息:輸出一條消息,指示資料已成功儲存。

資料展示:以下是從下載的資料中提取的部分內容

002.jpg__PID:22749d1d-cf87-446f-902e-3a164a3480b4

呈現資料

接下來,過濾和顯示特定股票代號的股權分散表數據。以下是過濾資料的程式碼:


# 設置股票代號變數
stock_code = '0050'

# 讀取CSV檔案
df = pd.read_csv('data.csv', encoding='utf-8')

# 過濾出證券代碼為 0050 的數據
df_filtered = df[df['證券代號'] == stock_code]

# 排除持股分級為16和17的數據
df_filtered = df_filtered[~df_filtered['持股分級'].isin([16, 17])]

df_filtered

🎃 南瓜說她很懊惱
自己前幾天打了小孩
她的小孩還沒成功戒掉尿布
不過肢體發展成熟,會自己換尿布了
偶爾耍賴撒嬌不想自己換,
南瓜也會幫他穿
那天晚上他又耍賴了,
但南瓜就是不想幫他換尿布
心裡一直碎念著:
他明明就可以自己處理
於是就一直跟小孩說:
「你已經長大了」
「你已經可以自己換尿布了」
「你已經有能力了」
「你不換尿布就光屁股睡覺好了」
最後僵持不下,南瓜就打了小孩
小孩放聲大哭,
先生過來直接幫小孩穿尿布
讓南瓜覺得自己無能又易怒
後來南瓜看著孩子的睡臉很歉疚
我帶著南瓜回到那一天
我問她:當時的妳氣色怎麼樣?
🎃 :很疲倦
⚡ :妳看著當時的自己,妳有什麼話想對她說?
🎃 :他只是個小孩,妳為什麼那麼失控?
(我心想:不不不,我不要妳責備自己啊,不過我們讓潛意識來處理吧)
⚡ :那當時的妳聽了有什麼反應?
🎃 :她面無表情
⚡ :是啊,妳是全世界最能理解她的人,她需要妳責備她嗎?
🎃 :不需要
⚡ :現在的妳有什麼話想對當時的自己說?
🎃 :妳看起來好累
🎃 :她哭了~~
⚡ :請妳看著兒子,把妳最真實的內心話說出來
🎃 :我不想幫你換尿布
⚡ :兒子聽到了有什麼反應?
🎃 :他傻住了
🎃 :他問我怎麼了,我說我好累,又好煩
🎃 :兒子抱著我,他在關心我~~~

我想用這一則潛意識翻譯記錄
來回應上一篇文章
護持能量的第一步是對自己誠實
累就是累
煩就是煩
有心事就是有心事
接下來就是真誠待人
有心事就別說「我沒事」
有關係就別說「沒關係」
我們能如實表達自己的感受
對方才有機會接住我們的情緒和需求
如果對自己不誠實
又找些冠冕堂皇的理由來掩蓋真相
(明明就是不想換尿布,又堅持說是在訓練兒子獨立)
那孩子得到的教養就是
我得找個光明正大的理由
才能滿足我內心的需求
那麼以後不想陪太太去跟岳家吃飯,就要假裝加班或出差
真正的需求不會被滿足
真正的問題不會被解決
重要的關係不能夠改善
我是很願意跟開心果說實話的媽媽
我會跟他說「我要接這通電話,
大概半小時,你去玩拼圖」
「媽媽很累,讓我賴床十分鐘」
「媽媽覺得這樣太吵了,
等一下就會很煩躁」
前幾天我生理期
他起床就去找阿嬤
等到要上學了
他回臥室找我「妳是不是起不來?」
我點點頭,
他說「那我跟阿嬤出門囉」
我說「放學我去接你!」
他就蹦蹦跳跳出發了
那時候我就覺得還好
我們一直都以真身示人
所以能夠互相體諒啊

程式碼說明

  1. 設置股票代號:設置我們要查詢的股票代號,例如0050。
  2. 讀取CSV檔案:使用 pandas 的 read_csv 函數讀取本地儲存的CSV檔案。
  3. 過濾數據:過濾出證券代碼為設定的股票代號的數據。
  4. 排除特定持股分級:排除持股分級為16和17的數據。(因為股權分級總共有15級)

🎃 南瓜說她很懊惱
自己前幾天打了小孩
她的小孩還沒成功戒掉尿布
不過肢體發展成熟,會自己換尿布了
偶爾耍賴撒嬌不想自己換,
南瓜也會幫他穿
那天晚上他又耍賴了,
但南瓜就是不想幫他換尿布
心裡一直碎念著:
他明明就可以自己處理
於是就一直跟小孩說:
「你已經長大了」
「你已經可以自己換尿布了」
「你已經有能力了」
「你不換尿布就光屁股睡覺好了」
最後僵持不下,南瓜就打了小孩
小孩放聲大哭,
先生過來直接幫小孩穿尿布
讓南瓜覺得自己無能又易怒
後來南瓜看著孩子的睡臉很歉疚
我帶著南瓜回到那一天
我問她:當時的妳氣色怎麼樣?
🎃 :很疲倦
⚡ :妳看著當時的自己,妳有什麼話想對她說?
🎃 :他只是個小孩,妳為什麼那麼失控?
(我心想:不不不,我不要妳責備自己啊,不過我們讓潛意識來處理吧)
⚡ :那當時的妳聽了有什麼反應?
🎃 :她面無表情
⚡ :是啊,妳是全世界最能理解她的人,她需要妳責備她嗎?
🎃 :不需要
⚡ :現在的妳有什麼話想對當時的自己說?
🎃 :妳看起來好累
🎃 :她哭了~~
⚡ :請妳看著兒子,把妳最真實的內心話說出來
🎃 :我不想幫你換尿布
⚡ :兒子聽到了有什麼反應?
🎃 :他傻住了
🎃 :他問我怎麼了,我說我好累,又好煩
🎃 :兒子抱著我,他在關心我~~~

我想用這一則潛意識翻譯記錄
來回應上一篇文章
護持能量的第一步是對自己誠實
累就是累
煩就是煩
有心事就是有心事
接下來就是真誠待人
有心事就別說「我沒事」
有關係就別說「沒關係」
我們能如實表達自己的感受
對方才有機會接住我們的情緒和需求
如果對自己不誠實
又找些冠冕堂皇的理由來掩蓋真相
(明明就是不想換尿布,又堅持說是在訓練兒子獨立)
那孩子得到的教養就是
我得找個光明正大的理由
才能滿足我內心的需求
那麼以後不想陪太太去跟岳家吃飯,就要假裝加班或出差
真正的需求不會被滿足
真正的問題不會被解決
重要的關係不能夠改善
我是很願意跟開心果說實話的媽媽
我會跟他說「我要接這通電話,
大概半小時,你去玩拼圖」
「媽媽很累,讓我賴床十分鐘」
「媽媽覺得這樣太吵了,
等一下就會很煩躁」
前幾天我生理期
他起床就去找阿嬤
等到要上學了
他回臥室找我「妳是不是起不來?」
我點點頭,
他說「那我跟阿嬤出門囉」
我說「放學我去接你!」
他就蹦蹦跳跳出發了
那時候我就覺得還好
我們一直都以真身示人
所以能夠互相體諒啊

003.jpg__PID:749d1dcf-87e4-4fd0-ae3a-164a3480b483

製作特定股票代號持股分級人數分布圖

使用 Plotly 套件來可視覺化特定股票的持股分級人數分布圖,幫助我們更直觀地了解股東持股狀況。程式碼包括數據讀取、過濾和圖表繪製的完整過程。


import pandas as pd
import plotly.express as px
import plotly.io as pio

# 設定 Plotly 的全域主題為 dark
pio.templates.default = "plotly_dark"

# 設置股票代號變數
stock_code = '0050'

# 讀取CSV檔案
df = pd.read_csv('data.csv', encoding='utf-8')

# 過濾出證券代碼為 0050 的數據
df_filtered = df[df['證券代號'] == stock_code]

# 排除持股分級為 17 的數據
df_filtered = df_filtered[~df_filtered['持股分級'].isin([16, 17])]

# 使用 Plotly 繪製持股分級人數分布圖
fig = px.bar(
    df_filtered,
    x='持股分級',
    y='人數',
    title=f'持股分級人數分布圖 (證券代碼: {stock_code})',
    labels={'持股分級': '持股分級', '人數': '人數'},
    color='人數',
    color_continuous_scale='Viridis'
)

# 在 Jupyter Notebook 中顯示圖表
fig

🎃 南瓜說她很懊惱
自己前幾天打了小孩
她的小孩還沒成功戒掉尿布
不過肢體發展成熟,會自己換尿布了
偶爾耍賴撒嬌不想自己換,
南瓜也會幫他穿
那天晚上他又耍賴了,
但南瓜就是不想幫他換尿布
心裡一直碎念著:
他明明就可以自己處理
於是就一直跟小孩說:
「你已經長大了」
「你已經可以自己換尿布了」
「你已經有能力了」
「你不換尿布就光屁股睡覺好了」
最後僵持不下,南瓜就打了小孩
小孩放聲大哭,
先生過來直接幫小孩穿尿布
讓南瓜覺得自己無能又易怒
後來南瓜看著孩子的睡臉很歉疚
我帶著南瓜回到那一天
我問她:當時的妳氣色怎麼樣?
🎃 :很疲倦
⚡ :妳看著當時的自己,妳有什麼話想對她說?
🎃 :他只是個小孩,妳為什麼那麼失控?
(我心想:不不不,我不要妳責備自己啊,不過我們讓潛意識來處理吧)
⚡ :那當時的妳聽了有什麼反應?
🎃 :她面無表情
⚡ :是啊,妳是全世界最能理解她的人,她需要妳責備她嗎?
🎃 :不需要
⚡ :現在的妳有什麼話想對當時的自己說?
🎃 :妳看起來好累
🎃 :她哭了~~
⚡ :請妳看著兒子,把妳最真實的內心話說出來
🎃 :我不想幫你換尿布
⚡ :兒子聽到了有什麼反應?
🎃 :他傻住了
🎃 :他問我怎麼了,我說我好累,又好煩
🎃 :兒子抱著我,他在關心我~~~

我想用這一則潛意識翻譯記錄
來回應上一篇文章
護持能量的第一步是對自己誠實
累就是累
煩就是煩
有心事就是有心事
接下來就是真誠待人
有心事就別說「我沒事」
有關係就別說「沒關係」
我們能如實表達自己的感受
對方才有機會接住我們的情緒和需求
如果對自己不誠實
又找些冠冕堂皇的理由來掩蓋真相
(明明就是不想換尿布,又堅持說是在訓練兒子獨立)
那孩子得到的教養就是
我得找個光明正大的理由
才能滿足我內心的需求
那麼以後不想陪太太去跟岳家吃飯,就要假裝加班或出差
真正的需求不會被滿足
真正的問題不會被解決
重要的關係不能夠改善
我是很願意跟開心果說實話的媽媽
我會跟他說「我要接這通電話,
大概半小時,你去玩拼圖」
「媽媽很累,讓我賴床十分鐘」
「媽媽覺得這樣太吵了,
等一下就會很煩躁」
前幾天我生理期
他起床就去找阿嬤
等到要上學了
他回臥室找我「妳是不是起不來?」
我點點頭,
他說「那我跟阿嬤出門囉」
我說「放學我去接你!」
他就蹦蹦跳跳出發了
那時候我就覺得還好
我們一直都以真身示人
所以能夠互相體諒啊

程式碼說明

  1. 匯入套件
    • pandas 用於數據處理。
    • plotly.express 用於數據可視化。
    • plotly.io 用於設定 Plotly 的全域主題。
  2. 設定 Plotly 的全域主題
    • pio.templates.default = "plotly_dark":將 Plotly 的主題設置為深色模式,使圖表具有深色背景,更適合在暗環境中查看。
  3. 設置股票代號變數
    • stock_code = '0050':指定要查詢的股票代號。
  4. 讀取CSV檔案
    • 使用 pandas 的 read_csv 函數讀取本地的 CSV 檔案,檔案名為 data.csv,並使用 UTF-8 編碼解析數據。
  5. 過濾數據
    • 過濾出證券代碼為指定股票代號(’0050’)的數據。
  6. 排除特定持股分級的數據
    • 排除持股分級為 16 和 17 的數據,因為持股分級總共只有 15 級。
  7. 繪製圖表
    • 使用 Plotly Express 的 px.bar 函數繪製柱狀圖。
    • X 軸顯示持股分級,Y 軸顯示人數。
    • 設置圖表標題,包含股票代號。
    • 根據人數為每個柱狀圖上色,顏色比例尺設定為 ‘Viridis’。
  8. 顯示圖表
    • 在 Jupyter Notebook 中顯示圖表對象 fig,以便進行進一步的數據分析和可視化。
004.jpg__PID:9d1dcf87-e46f-402e-ba16-4a3480b483d3

🎃 南瓜說她很懊惱
自己前幾天打了小孩
她的小孩還沒成功戒掉尿布
不過肢體發展成熟,會自己換尿布了
偶爾耍賴撒嬌不想自己換,
南瓜也會幫他穿
那天晚上他又耍賴了,
但南瓜就是不想幫他換尿布
心裡一直碎念著:
他明明就可以自己處理
於是就一直跟小孩說:
「你已經長大了」
「你已經可以自己換尿布了」
「你已經有能力了」
「你不換尿布就光屁股睡覺好了」
最後僵持不下,南瓜就打了小孩
小孩放聲大哭,
先生過來直接幫小孩穿尿布
讓南瓜覺得自己無能又易怒
後來南瓜看著孩子的睡臉很歉疚
我帶著南瓜回到那一天
我問她:當時的妳氣色怎麼樣?
🎃 :很疲倦
⚡ :妳看著當時的自己,妳有什麼話想對她說?
🎃 :他只是個小孩,妳為什麼那麼失控?
(我心想:不不不,我不要妳責備自己啊,不過我們讓潛意識來處理吧)
⚡ :那當時的妳聽了有什麼反應?
🎃 :她面無表情
⚡ :是啊,妳是全世界最能理解她的人,她需要妳責備她嗎?
🎃 :不需要
⚡ :現在的妳有什麼話想對當時的自己說?
🎃 :妳看起來好累
🎃 :她哭了~~
⚡ :請妳看著兒子,把妳最真實的內心話說出來
🎃 :我不想幫你換尿布
⚡ :兒子聽到了有什麼反應?
🎃 :他傻住了
🎃 :他問我怎麼了,我說我好累,又好煩
🎃 :兒子抱著我,他在關心我~~~

我想用這一則潛意識翻譯記錄
來回應上一篇文章
護持能量的第一步是對自己誠實
累就是累
煩就是煩
有心事就是有心事
接下來就是真誠待人
有心事就別說「我沒事」
有關係就別說「沒關係」
我們能如實表達自己的感受
對方才有機會接住我們的情緒和需求
如果對自己不誠實
又找些冠冕堂皇的理由來掩蓋真相
(明明就是不想換尿布,又堅持說是在訓練兒子獨立)
那孩子得到的教養就是
我得找個光明正大的理由
才能滿足我內心的需求
那麼以後不想陪太太去跟岳家吃飯,就要假裝加班或出差
真正的需求不會被滿足
真正的問題不會被解決
重要的關係不能夠改善
我是很願意跟開心果說實話的媽媽
我會跟他說「我要接這通電話,
大概半小時,你去玩拼圖」
「媽媽很累,讓我賴床十分鐘」
「媽媽覺得這樣太吵了,
等一下就會很煩躁」
前幾天我生理期
他起床就去找阿嬤
等到要上學了
他回臥室找我「妳是不是起不來?」
我點點頭,
他說「那我跟阿嬤出門囉」
我說「放學我去接你!」
他就蹦蹦跳跳出發了
那時候我就覺得還好
我們一直都以真身示人
所以能夠互相體諒啊

自動化儲存股票資料與視覺化圖表到 Excel

這段程式碼的目的是根據指定的年度從 CSV 檔案中讀取數據,為每個年度生成長條圖,並將數據與圖表儲存到 Excel 工作表中。每個年度的數據和圖表會被寫入到對應的工作表中,圖表會顯示在每個工作表的指定位置。程式碼涵蓋了數據讀取、圖表生成、以及將圖表和數據寫入 Excel 的完整流程。

import pandas as pd
import plotly.express as px
import plotly.io as pio
import xlwings as xw
import os

# 設定資料和圖表儲存的路徑
data_file_path = 'data.csv'
excel_file_path = 'data.xlsx'
image_folder = os.path.abspath('charts_images')

# 創建存放圖表圖片的資料夾
os.makedirs(image_folder, exist_ok=True)

# 讀取資料
data = pd.read_csv(data_file_path, encoding='utf-8') 

# 創建 Excel 文件
wb = xw.Book()  # 創建新的 Excel 工作簿

def plot_data(stock_code):
    """
    根據指定的股票代號顯示持股分級人數分布圖,並將其儲存為圖片。
    
    :param stock_code: 股票代號
    :return: 圖片檔案名稱
    """
    # 過濾出證券代碼為指定的股票代號的數據
    df_filtered = data[data['證券代號'] == stock_code]
    
    # 排除持股分級為 16 和 17 的數據
    df_filtered = df_filtered[~df_filtered['持股分級'].isin([16, 17])]
    
    # 使用 Plotly 繪製持股分級人數分布圖
    fig = px.bar(
        df_filtered,
        x='持股分級',
        y='人數',
        title=f'持股分級人數分布圖 (證券代號: {stock_code})',
        labels={'持股分級': '持股分級', '人數': '人數'},
        color='人數',
        color_continuous_scale='Viridis'
    )
    
    # 儲存圖表為圖片
    image_filename = os.path.join(image_folder, f'{stock_code}_chart.png')
    fig.write_image(image_filename)
    
    return image_filename

# 透過迴圈處理各股票代號並儲存資料和圖表
for stock_code in ['0050', '2330']:  # 股票代號應為字串類型

    # 創建新工作表
    sheet = wb.sheets.add(name=stock_code)

    # 過濾出證券代碼為指定的股票代號的數據
    df_filtered = data[data['證券代號'] == stock_code]

    # 排除持股分級為 16 和 17 的數據
    df_filtered = df_filtered[~df_filtered['持股分級'].isin([16, 17])]

    # 將數據寫入工作表
    sheet.range('A1').options(index=False, header=True).value = df_filtered
    
    # 繪製和儲存圖表
    image_filename = plot_data(stock_code)
    
    # 確保圖片檔案存在
    if os.path.exists(image_filename):

        # 插入圖表到工作表
        sheet.pictures.add(image_filename, left=sheet.range('G3').left, top=sheet.range('G3').top, width=600, height=400)
        print(f"已將 {stock_code} 的資料和圖表儲存到工作表")

    else:
        print(f"圖片檔案 {image_filename} 不存在")

# 儲存 Excel 文件
wb.save(excel_file_path)
wb.close()

print(f"所有資料和圖表已儲存為 {excel_file_path}")

🎃 南瓜說她很懊惱
自己前幾天打了小孩
她的小孩還沒成功戒掉尿布
不過肢體發展成熟,會自己換尿布了
偶爾耍賴撒嬌不想自己換,
南瓜也會幫他穿
那天晚上他又耍賴了,
但南瓜就是不想幫他換尿布
心裡一直碎念著:
他明明就可以自己處理
於是就一直跟小孩說:
「你已經長大了」
「你已經可以自己換尿布了」
「你已經有能力了」
「你不換尿布就光屁股睡覺好了」
最後僵持不下,南瓜就打了小孩
小孩放聲大哭,
先生過來直接幫小孩穿尿布
讓南瓜覺得自己無能又易怒
後來南瓜看著孩子的睡臉很歉疚
我帶著南瓜回到那一天
我問她:當時的妳氣色怎麼樣?
🎃 :很疲倦
⚡ :妳看著當時的自己,妳有什麼話想對她說?
🎃 :他只是個小孩,妳為什麼那麼失控?
(我心想:不不不,我不要妳責備自己啊,不過我們讓潛意識來處理吧)
⚡ :那當時的妳聽了有什麼反應?
🎃 :她面無表情
⚡ :是啊,妳是全世界最能理解她的人,她需要妳責備她嗎?
🎃 :不需要
⚡ :現在的妳有什麼話想對當時的自己說?
🎃 :妳看起來好累
🎃 :她哭了~~
⚡ :請妳看著兒子,把妳最真實的內心話說出來
🎃 :我不想幫你換尿布
⚡ :兒子聽到了有什麼反應?
🎃 :他傻住了
🎃 :他問我怎麼了,我說我好累,又好煩
🎃 :兒子抱著我,他在關心我~~~

我想用這一則潛意識翻譯記錄
來回應上一篇文章
護持能量的第一步是對自己誠實
累就是累
煩就是煩
有心事就是有心事
接下來就是真誠待人
有心事就別說「我沒事」
有關係就別說「沒關係」
我們能如實表達自己的感受
對方才有機會接住我們的情緒和需求
如果對自己不誠實
又找些冠冕堂皇的理由來掩蓋真相
(明明就是不想換尿布,又堅持說是在訓練兒子獨立)
那孩子得到的教養就是
我得找個光明正大的理由
才能滿足我內心的需求
那麼以後不想陪太太去跟岳家吃飯,就要假裝加班或出差
真正的需求不會被滿足
真正的問題不會被解決
重要的關係不能夠改善
我是很願意跟開心果說實話的媽媽
我會跟他說「我要接這通電話,
大概半小時,你去玩拼圖」
「媽媽很累,讓我賴床十分鐘」
「媽媽覺得這樣太吵了,
等一下就會很煩躁」
前幾天我生理期
他起床就去找阿嬤
等到要上學了
他回臥室找我「妳是不是起不來?」
我點點頭,
他說「那我跟阿嬤出門囉」
我說「放學我去接你!」
他就蹦蹦跳跳出發了
那時候我就覺得還好
我們一直都以真身示人
所以能夠互相體諒啊

程式碼說明

  1. 匯入套件
    • pandas 用於數據處理。
    • plotly.graph_objects 和 plotly.express 用於數據視覺化。
    • plotly.io 用於設定 Plotly 的全域主題。
    • xlwings 用於操作 Excel 文件。
    • os 用於文件和資料夾操作。
  2. 設定路徑
    • data_file_path:CSV 資料檔案路徑。
    • excel_file_path:儲存 Excel 檔案的路徑。
    • image_folder:圖表圖片儲存的資料夾路徑,若資料夾不存在則創建。
  3. 讀取資料
    • 使用 pandas 的 read_csv 函數從 CSV 檔案讀取數據,編碼設為 'utf-8'。
  4. 創建 Excel 文件
    • 使用 xlwings 創建新的 Excel 工作簿。
  5. plot_data 函數
    • 功能:根據股票代號生成持股分級人數分布圖並儲存為圖片。
    • 步驟
      • 過濾指定股票代號的數據。
      • 排除持股分級為 16 和 17 的數據。
      • 使用 Plotly 繪製圖表並儲存為圖片。
  6. 處理每個股票代號
    • 迴圈跑所有股票代號列表。
    • 建立對應的工作表並將數據寫入。
    • 繪製圖表並插入到工作表中。
  7. 儲存 Excel 文件
    • 儲存 Excel 文件並關閉工作簿。

這樣,就可以自動製作 Excel 文件,其中包含了每個股票代號的持股分級人數分布圖及其數據。這種自動化處理可以節省大量時間,並確保數據和圖表的統一性。

005.jpg__PID:1dcf87e4-6fd0-4e3a-964a-3480b483d3a2

🎃 南瓜說她很懊惱
自己前幾天打了小孩
她的小孩還沒成功戒掉尿布
不過肢體發展成熟,會自己換尿布了
偶爾耍賴撒嬌不想自己換,
南瓜也會幫他穿
那天晚上他又耍賴了,
但南瓜就是不想幫他換尿布
心裡一直碎念著:
他明明就可以自己處理
於是就一直跟小孩說:
「你已經長大了」
「你已經可以自己換尿布了」
「你已經有能力了」
「你不換尿布就光屁股睡覺好了」
最後僵持不下,南瓜就打了小孩
小孩放聲大哭,
先生過來直接幫小孩穿尿布
讓南瓜覺得自己無能又易怒
後來南瓜看著孩子的睡臉很歉疚
我帶著南瓜回到那一天
我問她:當時的妳氣色怎麼樣?
🎃 :很疲倦
⚡ :妳看著當時的自己,妳有什麼話想對她說?
🎃 :他只是個小孩,妳為什麼那麼失控?
(我心想:不不不,我不要妳責備自己啊,不過我們讓潛意識來處理吧)
⚡ :那當時的妳聽了有什麼反應?
🎃 :她面無表情
⚡ :是啊,妳是全世界最能理解她的人,她需要妳責備她嗎?
🎃 :不需要
⚡ :現在的妳有什麼話想對當時的自己說?
🎃 :妳看起來好累
🎃 :她哭了~~
⚡ :請妳看著兒子,把妳最真實的內心話說出來
🎃 :我不想幫你換尿布
⚡ :兒子聽到了有什麼反應?
🎃 :他傻住了
🎃 :他問我怎麼了,我說我好累,又好煩
🎃 :兒子抱著我,他在關心我~~~

我想用這一則潛意識翻譯記錄
來回應上一篇文章
護持能量的第一步是對自己誠實
累就是累
煩就是煩
有心事就是有心事
接下來就是真誠待人
有心事就別說「我沒事」
有關係就別說「沒關係」
我們能如實表達自己的感受
對方才有機會接住我們的情緒和需求
如果對自己不誠實
又找些冠冕堂皇的理由來掩蓋真相
(明明就是不想換尿布,又堅持說是在訓練兒子獨立)
那孩子得到的教養就是
我得找個光明正大的理由
才能滿足我內心的需求
那麼以後不想陪太太去跟岳家吃飯,就要假裝加班或出差
真正的需求不會被滿足
真正的問題不會被解決
重要的關係不能夠改善
我是很願意跟開心果說實話的媽媽
我會跟他說「我要接這通電話,
大概半小時,你去玩拼圖」
「媽媽很累,讓我賴床十分鐘」
「媽媽覺得這樣太吵了,
等一下就會很煩躁」
前幾天我生理期
他起床就去找阿嬤
等到要上學了
他回臥室找我「妳是不是起不來?」
我點點頭,
他說「那我跟阿嬤出門囉」
我說「放學我去接你!」
他就蹦蹦跳跳出發了
那時候我就覺得還好
我們一直都以真身示人
所以能夠互相體諒啊

結論

在這篇文章中,我們展示了如何使用 Python 和 Plotly 工具來呈現集保戶股權分散表數據。以下是我們 Python 教學的主要重點:

  1. 爬蟲數據: 我們從網絡上抓取了集保戶股權分散表數據,並將其儲存為 CSV 文件,以便進行進一步處理。
  2. 數據呈現: 利用 pandas 選擇特定證券並過濾數據,顯示其持股人數和持股比例,幫助我們理解不同證券的持股情況。
  3. 資料視覺化: 使用 Plotly 生成圖表,展示持股分級的人數分佈及其在集保庫存中的比例,使數據變得更加直觀和易於理解。
  4. Excel 報告自動化: 利用 xlwings 自動將圖表和數據儲存到 Excel 文件中,方便進一步分析和製作報告,提升工作效率。

本文中的 Python 實戰範例程式碼可以直接在此處下載

🎃 南瓜說她很懊惱
自己前幾天打了小孩
她的小孩還沒成功戒掉尿布
不過肢體發展成熟,會自己換尿布了
偶爾耍賴撒嬌不想自己換,
南瓜也會幫他穿
那天晚上他又耍賴了,
但南瓜就是不想幫他換尿布
心裡一直碎念著:
他明明就可以自己處理
於是就一直跟小孩說:
「你已經長大了」
「你已經可以自己換尿布了」
「你已經有能力了」
「你不換尿布就光屁股睡覺好了」
最後僵持不下,南瓜就打了小孩
小孩放聲大哭,
先生過來直接幫小孩穿尿布
讓南瓜覺得自己無能又易怒
後來南瓜看著孩子的睡臉很歉疚
我帶著南瓜回到那一天
我問她:當時的妳氣色怎麼樣?
🎃 :很疲倦
⚡ :妳看著當時的自己,妳有什麼話想對她說?
🎃 :他只是個小孩,妳為什麼那麼失控?
(我心想:不不不,我不要妳責備自己啊,不過我們讓潛意識來處理吧)
⚡ :那當時的妳聽了有什麼反應?
🎃 :她面無表情
⚡ :是啊,妳是全世界最能理解她的人,她需要妳責備她嗎?
🎃 :不需要
⚡ :現在的妳有什麼話想對當時的自己說?
🎃 :妳看起來好累
🎃 :她哭了~~
⚡ :請妳看著兒子,把妳最真實的內心話說出來
🎃 :我不想幫你換尿布
⚡ :兒子聽到了有什麼反應?
🎃 :他傻住了
🎃 :他問我怎麼了,我說我好累,又好煩
🎃 :兒子抱著我,他在關心我~~~

我想用這一則潛意識翻譯記錄
來回應上一篇文章
護持能量的第一步是對自己誠實
累就是累
煩就是煩
有心事就是有心事
接下來就是真誠待人
有心事就別說「我沒事」
有關係就別說「沒關係」
我們能如實表達自己的感受
對方才有機會接住我們的情緒和需求
如果對自己不誠實
又找些冠冕堂皇的理由來掩蓋真相
(明明就是不想換尿布,又堅持說是在訓練兒子獨立)
那孩子得到的教養就是
我得找個光明正大的理由
才能滿足我內心的需求
那麼以後不想陪太太去跟岳家吃飯,就要假裝加班或出差
真正的需求不會被滿足
真正的問題不會被解決
重要的關係不能夠改善
我是很願意跟開心果說實話的媽媽
我會跟他說「我要接這通電話,
大概半小時,你去玩拼圖」
「媽媽很累,讓我賴床十分鐘」
「媽媽覺得這樣太吵了,
等一下就會很煩躁」
前幾天我生理期
他起床就去找阿嬤
等到要上學了
他回臥室找我「妳是不是起不來?」
我點點頭,
他說「那我跟阿嬤出門囉」
我說「放學我去接你!」
他就蹦蹦跳跳出發了
那時候我就覺得還好
我們一直都以真身示人
所以能夠互相體諒啊

參考資料

  1. 台灣政府資料開放平臺:提供各種公共數據,旨在促進資料開放與共享。 政府資料開放平臺
  2. Python 官方文檔:了解Python的基本功能和用法。 Python官方網站
  3. Plotly 官方文檔:提供關於Plotly的詳細資料和使用指南,用於資料視覺化。 Plotly官方網站
  4. xlwings 官方文檔:提供有關xlwings的使用說明,幫助將資料和圖表存入Excel。 xlwings官方網站

🎃 南瓜說她很懊惱
自己前幾天打了小孩
她的小孩還沒成功戒掉尿布
不過肢體發展成熟,會自己換尿布了
偶爾耍賴撒嬌不想自己換,
南瓜也會幫他穿
那天晚上他又耍賴了,
但南瓜就是不想幫他換尿布
心裡一直碎念著:
他明明就可以自己處理
於是就一直跟小孩說:
「你已經長大了」
「你已經可以自己換尿布了」
「你已經有能力了」
「你不換尿布就光屁股睡覺好了」
最後僵持不下,南瓜就打了小孩
小孩放聲大哭,
先生過來直接幫小孩穿尿布
讓南瓜覺得自己無能又易怒
後來南瓜看著孩子的睡臉很歉疚
我帶著南瓜回到那一天
我問她:當時的妳氣色怎麼樣?
🎃 :很疲倦
⚡ :妳看著當時的自己,妳有什麼話想對她說?
🎃 :他只是個小孩,妳為什麼那麼失控?
(我心想:不不不,我不要妳責備自己啊,不過我們讓潛意識來處理吧)
⚡ :那當時的妳聽了有什麼反應?
🎃 :她面無表情
⚡ :是啊,妳是全世界最能理解她的人,她需要妳責備她嗎?
🎃 :不需要
⚡ :現在的妳有什麼話想對當時的自己說?
🎃 :妳看起來好累
🎃 :她哭了~~
⚡ :請妳看著兒子,把妳最真實的內心話說出來
🎃 :我不想幫你換尿布
⚡ :兒子聽到了有什麼反應?
🎃 :他傻住了
🎃 :他問我怎麼了,我說我好累,又好煩
🎃 :兒子抱著我,他在關心我~~~

我想用這一則潛意識翻譯記錄
來回應上一篇文章
護持能量的第一步是對自己誠實
累就是累
煩就是煩
有心事就是有心事
接下來就是真誠待人
有心事就別說「我沒事」
有關係就別說「沒關係」
我們能如實表達自己的感受
對方才有機會接住我們的情緒和需求
如果對自己不誠實
又找些冠冕堂皇的理由來掩蓋真相
(明明就是不想換尿布,又堅持說是在訓練兒子獨立)
那孩子得到的教養就是
我得找個光明正大的理由
才能滿足我內心的需求
那麼以後不想陪太太去跟岳家吃飯,就要假裝加班或出差
真正的需求不會被滿足
真正的問題不會被解決
重要的關係不能夠改善
我是很願意跟開心果說實話的媽媽
我會跟他說「我要接這通電話,
大概半小時,你去玩拼圖」
「媽媽很累,讓我賴床十分鐘」
「媽媽覺得這樣太吵了,
等一下就會很煩躁」
前幾天我生理期
他起床就去找阿嬤
等到要上學了
他回臥室找我「妳是不是起不來?」
我點點頭,
他說「那我跟阿嬤出門囉」
我說「放學我去接你!」
他就蹦蹦跳跳出發了
那時候我就覺得還好
我們一直都以真身示人
所以能夠互相體諒啊

正在尋找網路爬蟲線上課程?

實用技術組合包:Python 爬蟲 X Excel 自動化組合包(Kadin Chung 鍾榮達)
實用技術組合包:Python 爬蟲 X Excel 自動化組合包(Kadin Chung 鍾榮達)

實用技術組合包:Python 爬蟲 X Excel 自動化組合包(Kadin Chung 鍾榮達)

$6,600
$11,000
全方位 Python 網路爬蟲實戰大師班:實戰技能與完整應用
全方位 Python 網路爬蟲實戰大師班:實戰技能與完整應用
全方位 Python 網路爬蟲實戰大師班:實戰技能與完整應用
全方位 Python 網路爬蟲實戰大師班:實戰技能與完整應用
全方位 Python 網路爬蟲實戰大師班:實戰技能與完整應用
全方位 Python 網路爬蟲實戰大師班:實戰技能與完整應用

全方位 Python 網路爬蟲實戰大師班:實戰技能與完整應用

$3,880
查看更多資訊
Python AI 金融程式設計大師班
Python AI 金融程式設計大師班
Python AI 金融程式設計大師班
Python AI 金融程式設計大師班
Python AI 金融程式設計大師班
Python AI 金融程式設計大師班

Python AI 金融程式設計大師班

$3,680
查看更多資訊
用Python打造自己專屬的VIP看盤室
用Python打造自己專屬的VIP看盤室
用Python打造自己專屬的VIP看盤室
用Python打造自己專屬的VIP看盤室
用Python打造自己專屬的VIP看盤室
用Python打造自己專屬的VIP看盤室

用Python打造自己專屬的VIP看盤室

$4,000
查看更多資訊

Kadin Chung 鍾榮達

介紹
  • 目前在公司負責系統分析與程式設計,同時也在做線上課程講師。 碩士畢業之後在外商系統整合服務公司上班多年,到自己設立軟體公司,第一個合作售出的系統是一套網路管理系統,可以幫助客戶配置,維護和測試數千台思科網路設備。 除此之外,Kadin在大型項目方面經驗豐富,例如馬拉松線上報名系統,車行租賃管理系統等。 在Kadin創業的過程中不斷地促使自己學習新的技能,並且知道什麼是「學習新技能」最有效的方法,他樂於分享一切所學的知識和實務經驗,也因為這份樂情,帶領 Kadin 來到 MasterTalks ,他將會透過高品質且有效率的方式分享他所學的一切技術和知識!

綁定LINE好友再享3000點知識點數