Python 與 Excel 的整合術

據國外媒體報導,微軟正考慮添加 Python 為官方的一種 Excel 腳本語言,意味著未來若學會 Python 這個語言後,無需另外學 VBA,也可以為 Excel 寫自動化的程式。Excel 用戶也能夠像目前使用 VBA 腳本一樣,透過 Python 寫出來的腳本與 Excel 檔、數據以及一些 Excel 核心函數進行串接。

但是在微軟正式將 Python 變成 Excel 的官方腳本語言以前,其實 Python 社群已經有許多讓 Python 串接 Excel 的套件,這些套件能讓我們透過 Python 實作出類似 VBA 巨集的功能,允許我們在未來還沒發生前就已經可以開始用 Python 為 Excel 寫程式。

另外,一旦我們可以使用 Python,也代表我們可以脫離 Excel 與微軟的限制,使用許多強大的 Python 套件,像是 Pandas 與 Numpy,來幫助我們更有效率的實作出想要的功能,或是實作出超越微軟内建的功能。

本課程是應用導向,聚焦在 Python 與 Excel 的串接與整合上,無論你之前學過 Excel 或是 Python,這節課都適合你。當老牌試算表遇上新型的程式語言可以擦出什麼樣的火花,我們就用這五堂課一起來探索吧!

課程大綱

1. 如何使用 Python 讀寫 Excel 檔案
2. 如何用 Python 讀寫單一儲存格,
3. 如何用 Python 讀寫一個範圍的儲存格
4. 計算移動平均(簡單、加權、指數移動平均)
5. 如何用 Python 寫出 VBA Macro (巨集)
6. 畫圖表 (Excel 內建圖表 vs Matplotlib)
7. 用 VBA 巨集呼叫 Python 程式
8. 用 Python 呼叫 VBA 巨集
9. 資料處理: Python 資料結構複習
- list (清單)
- dict (字典)
- tuple (元組)
- set (集合)
- numpy, pandas 與 Excel 的串接
10. 進階專題
- 用 Excel 跑回測 (Back Testing)
- 通道套利策略 (Donchian channel / Bollinger Band)
11. 用 Python 製作爬蟲 (截取網頁資料):
- 實戰外幣匯率爬蟲
- 實戰台股爬蟲
- 用 Python 將截取網頁的資料並存入 Excel
12. 用 Python 與 Excel 打造即時匯率監控程式

適合對象

1. 工作上會需要用到 Excel 的人
2. 具備基本的電腦操作能力
3. 對寫程式有興趣者
4. 對 VBA 語言失望/充滿怨恨者
5. 對 Python 或 VBA 任一語言有基礎的認知者佳

開發環境

Python
Excel
Jupyter Notebook

近期班次

注意事項

  • 上課地點:台灣大學資訊工程學系系館 詳細位置;教室號碼將於開課前一日公佈於官網"最新消息"中。
  • 上課教材:開課後將公布教學網站給同學查閱。
  • 結業狀況:請上官網”結業名單”查閱是否合格及可領取證書進度。

講師介紹

美國加州大學 電機系學士

臺灣大學 資訊網路與多媒體研究所碩士

 

經歷

現任Ruby on Rails工程師

多年網頁程式設計經驗

研究領域 多媒體資訊檢索、電腦視覺、人機互動

專長 HTML、Javascript、Ruby / Ruby on Rails、Python、VBA

教學經驗 台大資工系電腦圖學課助教