顯示具有 程式設計 標籤的文章。 顯示所有文章
顯示具有 程式設計 標籤的文章。 顯示所有文章

2021年1月19日 星期二

EXCEL VBA大數據分析視覺化程式設計

用EXCEL VBA做大數據分析視覺化程式設計教學心得分享

本學期應邀回母校台師大開課課程主要是:
用EXCEL VBA做大數據分析視覺化程式設計

另一個母校,東吳大學也邀請我開課,但限於自己的時間無法排出適合的時間,
於是系主任便推薦我開設遠距課程於是,
便有了可以在台師大上課,並將上課錄影除了提供上課學生複習,
也可以將後製後的影片,提供東吳的遠距課程的想法,
這樣我只要認真地把一次課程作法,就可以讓兩邊的學生都學習的好辦法。

於是開學後,台師大受限電腦教室,選修人數只有50人,加上加選5人,
有55位學生,幾乎是秒殺,至於東吳遠距課程,沒有這樣的限制,
所以選課人數近百人,有95位選修。

一、課程大綱:

期中前,主要從EXCEL高階函數巨集錄製VBA程式設計,
資料來源為政府開放資料,配合樞紐分析表。

期中後,網路爬蟲+樞紐分析到視覺化圖報表,用EXCEL內建功能與錄製巨集寫爬蟲,
無法抓取資料則用IE物件,將IE瀏覽器嵌入EXCEL VBA程式中,只要能連結的網頁,單可以下載裡面的資料。



課程進行中提供雲端講義,裡面有說明、畫面與老師自己寫的程式碼,並隨課全程錄影,
後製後上傳YOUTUBE,建立播放清單,直接件給學生複習與學習。
建立一個GOOGLE論壇,只有學生可以加入,
課後會將上課的YOUTUBE影片建立播放清單,並貼到論壇,
好處就是會自動轉信給學生,這樣我就不用一個一個的郵寄了,
用了超過十年覺得沒什麼問題,只是雖是論壇,
但討論的介面做的很不好,最好用的還是分享上課影片清單。



二、修課人數/學院分布




三、期中專題作業






四、期末專題作業












五、本學期授課心得:

1.兩學分真的有點趕,因此輔以影音錄製與雲端講義,對認真學習學生幫助很大。
2.期中專題有範圍,但許多學生都能加入自己的需求和想法,加上EXCEL容易上手,雖說需要撰寫VBA程式,但因為懂得錄製巨集與修改的方式,都能完成理想專題。
3.期末專題為難度很高的網路爬蟲+製作圖表,但結果超過預期的好,可見學生接受度很好,以學生回饋意見可知,上課錄影可重複學習備查,與雲端講義助益很大。
4.遠距學習(東吳)結果因為有影音與雲端輔助,成果不遜於實體上課。


非資訊背景教程式設計

非資訊卻講程式設計二十一年(89年巨匠教VB)
比較沒包袱,能從非資訊角度看學習與應用
重視實作,很多人看的懂書上寫的但寫不出程式
程式寫作要會寫,還要熟練,更需要完全正確(99分程式還是無法執行)
教學的核心都在如何幫助學生學會寫程式。
從EXCEL函數開始,再學習錄製巨集,再慢慢進入VBA程式設計的世界

如何幫學生寫出又快會好又正確程式

1.所有程式都是自己預先多次撰寫,用自己的寫作風格撰寫,不要求學生有標準答案,可以用自己的方式與邏輯寫程式。
2.提供雲端即時講義,取名雲端白板,有解答程式畫面結果與文字敘述。
3.隨課錄影,並課後上傳YOUTUBE播放清單用用GOOGLE論壇分享。
4.期中報告以開放資料為資料來源,用EXCEL樞紐分析圖表、函數、巨集與VBA完成專題。
5.期末報告以網路爬蟲取得資料(GET與POST),用EXCEL製作圖表與VBA完成專題。

Pyhton V.S. VBA

自己也教Pyhton發現還是比VBA來的困難
1.安裝環境
2.有EXCEL可以存資料,甚至當資料庫
3.有錄製巨集可以產生不會寫的程式
4.樞紐分析 vs Pandas
5.圖表 vs Matplotlib
入門的學生與非資訊相關科系,建議可以先從學習VBA設計下手

第14次上課教學影片分享:

(期末專題作業說明&全省氣溫改為跨工作表與物件的使用&跨工作表說明與用IE物件)


教學論壇:


EXCEL VBA進階班的課程規劃

主要是延伸入門課,延伸資料庫、多工作表、工作簿、網路爬蟲、視覺化報表等應用並與Python程式協同應用
單元01_資料拆解相關(VBA)
單元02_輸入自動化與表單設計
單元03_用ADO匯入與匯出資料庫
單元04_大量工作表合併與分割
單元05_資料查詢(篩選與分割工作表)
單元06_下載網路資料(YAHOO股市)
單元07_活頁簿與檔案處理(工作表分割與合併活頁簿)
單元08_視覺化報表與快速匯入圖片

其他相關學習:
    函數東吳進修推廣部, EXCEL, EXCEL VBA 函數,程式設計,線上教學

    2020年5月22日 星期五

    開課訊息:東吳推廣部 從EXCEL VBA到Python開發

    開課訊息:東吳推廣部 從EXCEL VBA到Python開發

    上課日期
    2020-06-29 時數 32節

    上課內容:
    因應大數據分析、物聯網與AI智慧辦公室的需求,能更容易的學會網路爬蟲、機器學習、物聯網、影像辨識、自動圖像報表等需求,其中以EXCEL VBA與Python程式開發最為熱門,因此將VBA的自動化延伸到PYTHON設計,讓學員能夠比較兩個工具的長處,並能相互協同應用。

    教學內容
    單元01_建置Python開發環境與程式測試
    單元02_基本語法與結構控制件
    單元03_迴圈資料結構與自訂函數
    單元04_串列、字典與檔案與資料庫處理
    單元05-1_開放資料處理CSV和JSON資料處理(停車與PM2.5)
    單元05-2_開放資料處理練習題_新北市開放資料JSON
    單元05-3_GOOGLE雲端當CSV來源與CSV處理
    單元05-4_網頁資料擷取基礎與外匯
    單元05-5_網頁資料擷取台彩與股市資料
    單元05-6_擷取網頁上櫃股票行情
    單元06_使用Pandas與處理_Excel_試算表
    單元07_VBA與Phython連結MYSQL資料庫
    單元08_視覺化報表使用圖表繪製Matplotlib
    備註:本課程上課即時錄製教學,並於課後提供學員線上數位學習。

    連結:
    https://www.ext.scu.edu.tw/courses_search.php?key=%E5%90%B3%E6%B8%85%E8%BC%9D





    吳老師  109/5/22

    函數東吳進修推廣部, EXCEL, EXCEL VBA 函數,程式設計,PYTHON,大數據分析,網路爬蟲,

    2020年2月9日 星期日

    單元01_建置Python開發環境(用懶人包快速建立)

    單元01_建置Python開發環境(用懶人包快速建立)


    開發環境和EXCEL VBA相較,Python真的太麻煩了,
    VBA只要開啟開發人員標籤,就可以開始寫程式了,

    另外EXCEL本身就可以充當資料庫來使用,資料也可以隨時存放
    但這些都是Python無法做到的
    原因應該和商用軟體(OFFICE)自由軟體(PYTHON)的差異,
    商用軟體有收費自然就有必要幫大家把需要的環境做好,
    但衍生的就是需要不斷收費,
    自由軟體因為不用收費,只要不是商業用途,都沒有費用問題,
    但也就需要什麼都自己來,有點像自助餐的概念,什麼都要自己來,
    所有建置環境也就需要自己準備好
    甚至,建置環境的方法至少幾十種,
    那一種最好?
    我想為了Python的教學便利,不讓大家太麻煩,
    所以幫大家準備好Pyhon建置環境懶人包
    只要將兩個檔案解壓縮到D碟(或C碟)中
    在直接執行Eclipse的執行檔就好,
    Eclipse免安裝程式,可是是為Python相當好用的編輯器,
    開啟後在和Pyhton連結就好,再設定好編碼方式為UTF-8
    就可以開始寫Python程式了,
    至於後面的VBA可以把EXCEL當成存取資料資料庫來用,
    後面會再講解對應到Python的檔案資料庫使用,
    以下說明如何使用。

    教學影音(完整版在論壇):


    使用懶人包

    先下載
    eclipse_python.zip  [下載]
    Python37-32.zip  [下載]


    1.下載到C碟或D碟中

    2.解壓縮(不可以有多一層目錄)

    3.開啟ECLIPSE與設定

    (若出現JAVA開頭訊息,只要安裝JDK或JRE就可以)

    設定PYTHON路徑

    找Pydev的Python Interpreter 並瀏覽 Python37-32資料夾裡的 Python.exe

    正確結果畫面

    4.新增專案

    選Other-->PyDev-->PyDev Project

    輸入專案名稱,版本3.6,並Create src folder(產生src資料夾)

    5.新增Moudle(在src上按右鍵)

    6.輸入程式並執行

    7.修改編碼為UTF-8:

    8.字型放大與縮小

    CTRL+中間的+和-


    結語:

    和EXCEL VBA相較之下,Pyhton的開發環境麻煩太多,
    但帶來的好處是費用上的節省,
    和未來有用不完的外掛可以擴充,所以如果你的應用需求很簡單,
    建議用VBA就好,但如果需要更複雜的處理工作,
    也不想付錢給軟體公司,Python是很好的選項。

    課程理念與課程介紹:

    因應大數據分析、物聯網、工業4.0的需求,能更容易的學會網路爬蟲、機器學習、物聯網、影像辨識、自動圖像報表等需求,其中以EXCEL VBA與Python程式開發最為熱門,因此將VBA的自動化延伸到PYTHON設計,讓學員能夠比較兩個工具的長處,並能相互協同應用。


    課程內容

    單元01_建置Python開發環境與程式測試
    單元02_基本語法與結構控制件
    單元03_迴圈資料結構與自訂函數
    單元04_串列、字典與檔案與資料庫處理
    單元05-1_開放資料處理CSV和JSON資料處理(停車與PM2.5)
    單元05-2_開放資料處理練習題_新北市開放資料JSON
    單元05-3_GOOGLE雲端當CSV來源與CSV處理
    單元05-4_網頁資料擷取基礎與外匯
    單元05-5_網頁資料擷取台彩與股市資料
    單元05-6_擷取網頁上櫃股票行情
    單元06_使用Pandas與處理_Excel_試算表
    單元07_VBA與Phython連結MYSQL資料庫

    單元08_視覺化報表使用圖表繪製Matplotlib


    完整教學影音DVD申請:http://goo.gl/ZlBZE

    相關學習: