Python x Excel 的整合術(課程簡介)

Eugene Chang (張佑成)

September 14th 2024

![](https://drive.google.com/uc?export=download&id=1Edq1w2LqVhxXN-Uc68B3iRQBvHnYadZS) --- # 上課資訊 - 周六日 9:00 AM ~ 12:00 PM - 十堂課 - 30 小時 --- # 收據 收據會在**課程結束前**發給大家 --- # FB 社團 本課程的教材、影片等資訊都會公佈在FB社團內: [社團連結](https://www.facebook.com/groups/ntupyxl/) --- # 錄影 爲了方便學員復習,本課程的内容都會錄影 --- # About Me ![](https://drive.google.com/uc?export=download&id=1E0xorlLuxv8i_eQlJpjXeUyqHjneomQW) 張佑成 (Eugene, 念起來像是 "有勁") --- # About Me - 美國加州大學電機工程學士 - 臺灣大學資訊網路與多媒體研究所碩士 - kyosei.ai 共同創辦人 --- # Teaching - 台大系統訓練班講師(授課時數超過 3000 小時) - 國泰金控教育訓練特聘講師 Email: ycc0504@ntu.edu.tw --- # 結業證書 訓練班規定: [連接](https://train.csie.ntu.edu.tw/train/certificate.php) --- # 我的評分標準 本課程講求**實作** 學員必須完成**期末專題**才能拿到證書 --- # 期末專題 - 利用在這堂課程所學 (Excel + Python),打造一個屬於自己的工具 - 期限是第十堂課結束後一星期 --- # 我為什麼要開這門課? --- # 現代職場幾乎離不開 Excel --- # 掌握好 Excel 就等於解決了很多問題 --- # 但是每天重複一樣的操作很麻煩... --- # 因此很多人就希望能夠透過一些簡單的程式去自動化和 Excel 相關的事務 --- # 所以才有了 **VBA** 這個語言 ![](https://drive.google.com/uc?export=download&id=1Gr9ZYFiI9rwn7cMXxtppqvBZC3zqMb8I) --- # VBA 的好處 --- # 自動化重複性高又無聊的操作 --- # 避免人爲的操作失誤 --- # 撰寫自訂函數 --- # 但是... --- # VBA 語言有一個壞處... --- # VBA 不是一個容易學的程式語言 --- # 原因在於 VBA 的應用很單一,是一個爲了自動化 Office 應用程式而存在的專門性語言 --- # 因此... 學習 VBA 的時間報酬率比學習其他語言來的差 --- # 導致... VBA 變成一個冷門的程式語言 --- # 我們可以參考一下 VBA 的市占率 程式語言市占率排行榜: [Tiobe](https://www.tiobe.com/tiobe-index/) --- # 一般我們在選擇程式語言時 都會優先挑選一個熱門的程式語言來使用 --- # 熱門的程式語言 代表相關的資源 / 教學多 將學習的門檻降低,學習此語言就越容易上手 --- # 就如同學習外語一樣 美式英文 vs 英式英文 我們一般會先選擇學習美式英文,純粹因爲有**更多人在使用** --- # 由此可見 程式語言這種工具的市占率,是符合冪律分佈的(熱門的語言會變得更熱門) --- # 我們來參考一個近年來一個熱門的語言 --- # Python ![](https://drive.google.com/uc?export=download&id=1Nc2f_LkuQRk_hT2OFsCiFNDJhK2JWuW0) --- # Python 的市占率 程式語言市占率排行榜: [Tiobe](https://www.tiobe.com/tiobe-index/) --- # Python 的好處 近年來一個熱門的程式語言 --- # 我們來參考一個量化指標 --- # Stack Overflow Stack Overflow 是一個程式設計師的問答網站 答題趨勢:[Stack Overflow](https://insights.stackoverflow.com/trends?tags=python%2Cvba) --- ## Python vs VBA 在提問次數所佔的比例 ![](https://drive.google.com/uc?export=download&id=1y8N9ugK3i2opaNVisRuWccxqFklWpHLB) --- # 與 Python 相關的提問與討論遠超過 VBA --- # 因此當我們在學習 Python 時... 一旦遇到問題 / 卡關時,在網路上找到解決方法的機率相對高 --- # 由於 Python 的市占率高 因此 Python 界也有許多現成、與 Excel 串接的套件/程式庫 --- # 這些套件/程式庫 允許我們直接透過 Python 操作 Excel,無需另外學習 VBA --- # 若我們學會了 Python 與 Excel 之後 我們就可以主動整合兩者的優勢,來開發一些實用的工具 --- # 我們可以用 Python 與 Excel 做什麽? --- # 自動化 讓程式幫你處理一些重複又無聊的 Excel 流程 --- ## 用 Pandas 自動化樞紐報表 ![](https://drive.google.com/uc?export=view&id=16KE3RTbX02KYh0ATo27yCraqLRv1XGLP) --- # 網頁爬蟲 從指定的網頁截取資料 --- # 將網頁截取的資料寫入 Excel --- # 若爬蟲需要執行很久... 可以在程式執行完之後用 Python 發送一個 Line 訊息提醒自己 ![](https://drive.google.com/uc?export=download&id=1HKcH9589GLjoOcTX2_bKSUue-J1vOEwZ) --- # 用 Excel 製作前端界面,將 Python 變成後端 --- ## 打造一個股價及時看板 ![](https://drive.google.com/uc?export=download&id=1K8MqMzg-71bk33rB-qVSGSmn8PxCAaCP) Excel 本身就是一個簡單易懂的資料庫之外,它也是一個可以跟使用者互動的界面 打造一個股價及時看板: https://youtu.be/5cf-G2IRVdk --- # 本課程主要用到的三大技術 - Python - Excel - Jupyter Notebook --- # 本課程的原則 ## 用最簡單易學的語言、 ## 搭配上最熟悉的工具、 ## 再用淺顯易懂的語法、 ## 快速打造出屬於自己的數據分析工具。 --- # 希望大家能夠盡量動手實作 ![](https://drive.google.com/uc?export=download&id=1aNZmqZtBdFZfPqc9cmnc2OvxjRiekXKN) --- # 先來裝開發環境... --- # 本課程會用到的開發環境 ![](https://drive.google.com/uc?export=download&id=1FRJ7Bcdv4XqrWHHigIxWgWKWYidj61Am) --- # Anaconda 下載連結 [下載連結](https://www.anaconda.com/download/) --- # Anaconda 若你是使用學校的電腦,無需另外安裝 Anaconda --- # 安裝教學指南(PDF) 安裝指南:[PDF檔案](https://drive.google.com/uc?export=download&id=1mhyMLeQWn_-CWcJQohLzS2ICCtt0osPv) --- # Anaconda 安裝教學影片 Anaconda 安裝教學影片:[連結](https://youtu.be/1EW3Zv_vw0k) --- # 範例:用 Python 與 Excel 自動化樞紐報表 下載教材:[連結](https://drive.google.com/drive/folders/1GkZQdpJDsa_e2lUZgG1Kl7P8mnJaVGhH?usp=sharing) --- # 先來裝開發環境... --- # 本課程會用到的開發環境 ![](https://drive.google.com/uc?export=download&id=1FRJ7Bcdv4XqrWHHigIxWgWKWYidj61Am) --- # Anaconda 下載連結 [下載連結](https://www.anaconda.com/download/) --- # Anaconda 若你是使用學校的電腦,無需另外安裝 Anaconda --- # 安裝教學指南(PDF) 請參考第一課教材内附的 PDF 檔案 --- # Anaconda 安裝教學影片 Anaconda 安裝教學影片:[連結](https://youtu.be/1EW3Zv_vw0k) --- # 功課 請回家依照教學影片在自己的電腦上安裝 Anaconda # Q&A ---

Thanks for Watching

Contact: yuyueugene84@gmail.com

Download PDF