今天我們要來學習如何在Google試算表中使用IMPORTDATA函數,從臺灣證券交易所(TWSE)抓取三大法人的每日買賣超資料。這對於需要追蹤市場動向或進行數據分析的朋友來說非常實用。
瞭解資料來源:臺灣證券交易所三大法人買賣超頁面。 IMPORTDATA函數的基本用法。 如何取得TWSE三大法人買賣超資料的CSV下載連結。 在Google試算表中實際操作匯入資料。 如何匯入不同日期或不同產業分類的資料。
在TWSE頁面上,點擊「CSV下載」按鈕旁邊的**「列印/HTML」**按鈕。 這會在新分頁中開啟一個HTML格式的報表,網址列會顯示該報表的URL。例如,預設情況下(水泥工業),URL可能像這樣: https://www.twse.com.tw/rwd/zh/fund/T86?response=html (注意:實際URL可能因選擇的日期或分類而包含更多參數,例如 date=YYYYMMDD 和 selectType=代碼)。 我們需要將這個URL末尾的 response=html 修改為 response=csv。修改後的URL就會是CSV資料的直接下載連結。
打開一個新的Google試算表。 假設我們要抓取預設的「水泥工業」最新資料,在任何一個儲存格(例如A2,保留A1給日期或標題)中,輸入以下公式: =IMPORTDATA("https://www.twse.com.tw/rwd/zh/fund/T86?response=csv") 試算表就會自動載入「水泥工業」的最新買賣超資料。
範例1:匯入「全部(不含權證...)」資料 假設我們要查詢2025年05月23日的「全部(不含權證、牛熊證、可展延牛熊證)」資料,透過上述技巧得到的HTML頁面URL可能包含 date=20250523 和 selectType=ALLBUT0999 等參數。將其 response 改為 csv 後,URL會像這樣: https://www.twse.com.tw/rwd/zh/fund/T86?date=20250523&selectType=ALLBUT0999&response=csv 在試算表中輸入: =IMPORTDATA("https://www.twse.com.tw/rwd/zh/fund/T86?date=20250523&selectType=ALLBUT0999&response=csv") 範例2:匯入「金融保險」資料 假設「金融保險」的 selectType 代碼是 17,要查詢2025年05月21日的資料,CSV URL會是: https://www.twse.com.tw/rwd/zh/fund/T86?date=20250521&selectType=17&response=csv 在試算表中輸入: =IMPORTDATA("https://www.twse.com.tw/rwd/zh/fund/T86?date=20250521&selectType=17&response=csv") 動態日期設定: 若要讓日期動態化,可以在試算表的某個儲存格(例如A1)輸入日期(格式為YYYYMMDD,例如 20250523),然後用 & 符號來組合URL: =IMPORTDATA("https://www.twse.com.tw/rwd/zh/fund/T86?date=" & A1 & "&selectType=ALLBUT0999&response=csv") 重要提示: IMPORTDATA 函數內的URL不支援直接使用如 NOW()、RAND() 或 TEXT(NOW()-1,"yyyymmdd") 等會即時變動的函數來產生日期字串。日期參數必須是固定的字串,或來自儲存格的固定值。 抓取最新資料: 如果想要抓取最新的資料(通常是最近一個交易日),可以省略 date 參數。系統會自動提供最新資料。例如,抓取最新的「全部(不含權證...)」資料: =IMPORTDATA("https://www.twse.com.tw/rwd/zh/fund/T86?selectType=ALLBUT0999&response=csv") 查詢產業分類代碼: 如果想知道其他產業分類的 selectType 代碼,可以在TWSE網頁上,對著產業分類的下拉選單按右鍵,選擇「檢查」(Inspect Element)。在瀏覽器的開發者工具中,展開 <select> 標籤,查看裡面的 <option> 標籤,其 value 屬性即為對應的代碼(例如金融保險的 value="17")。
沒有留言:
張貼留言
注意:只有此網誌的成員可以留言。