前情摘要
原本想簡單處理個「Excel 打不開的超大檔案」,在尋找解決方案的過程中,卻像闖入另一個世界....時間緊任務重下的資料處理方式演進:
- 一開始是硬幹 Excel → 發現時間效率太差
- 後來試試 Power Query → 學習曲線高、網路學習資料少
- 接著玩 VBA 巨集 → 遇到大檔還是容易當機
- 最終決定:改用 Python 來處理數據!
這麼多名詞……我在哪?我在做什麼?!
啊不,我到底該怎麼做才能完成我的目標?這麼多名詞淹沒的我,都要忘了自己原本要幹嘛..…擁有強大的AI工具那我該如何使用呢?和 AI 合作的第一步,不是叫它幫你「解決所有問題」,而是:你得先知道自己要幹嘛。
我的需求其實很簡單:
- Input:龐大的 Excel 資料,甚至需要用 FTP 下載
- 處理:???
- Output:統計好的表格,每月提供給客戶對帳
跟AI溝通之前,使用者需要知道自己在幹嘛 (像是上述的power query or VBA),能夠有效率地溝通,不然debug 到某個程度就會開始鬼打牆。但我不會使用python 數據分析怎麼辦?! (吶喊~
那我推薦你看看文章,文科小白 被逼走上數據分析 的進擊之路....
Excel 處理龐大資料總是當機?用 Python + AI 輕鬆解決!
那麼,讓我們開始吧!
讓我用個譬喻說明一下環境& 即將發生的事情,還記得我上述的需求嗎?
- Input(龐大 Excel、FTP 資料)→ 像是你手上的一堆食材
- 處理過程 → 是你下廚的過程
- Output(統計表)→ 就是你要端上桌的料理
介紹廚房都有什麼?
1. CSV / Excel for input (輸入資料) -> 市場買回來的「原始食材」
- CSV 或 Excel 檔案,市場買回來,還沒清洗、還沒切的「原始食材」。
- 它們是最基礎的狀態,你可以直接從這些食材開始做菜。
2. Python (程式語言) -> 廚房裡的「語言」
- Python 就像是廚房裡共同使用的「語言」或「溝通方式」,例如大家都說台語。
- 你必須用這種語言來告訴廚師 (電腦) 你想做什麼菜,怎麼做。
- 「切番茄」、「煮水」、「加鹽」——這些都是 Python 語法裡的「詞彙」和「語句」。
3. Pandas 和其他套件 /函式庫(Libraries) -> 廚房裡的「專業工具書」和「專用工具」
- Pandas 就像一本很厲害的「食材整理與處理工具書」。它裡面有各種方法教你如何把一大堆亂七八糟的蔬菜、肉類 (你的資料) 快速分類、清洗、切好、甚至組合起來。
- 比如,你有一大堆從市場買回來的菜(Excel/CSV 檔案),Pandas 就能幫你把這些菜快速整理好,變成一份可以用的「食材清單」。
- 其他套件 (比如 Matplotlib 用來畫圖) 就像是廚房裡各種「專用工具」。
- Matplotlib 可能就是一台「自動切菜機」或「造型模具」,可以把你處理好的食材快速變成漂亮的樣子(圖表)。
- 你不需要自己發明菜刀或砧板,因為這些套件 (工具) 都已經有人幫你做好了,你直接拿來用就行。
----
Pandas (Python 套件): Pandas 是一個基於 Python 的資料分析套件 (或稱為函式庫)。它提供了高效的資料結構 (如 DataFrame) 和資料分析工具,讓你可以輕鬆地讀取、清洗、處理和分析表格型資料 (例如 Excel、CSV)。簡單來說,Pandas 是你在 Python 中處理 Excel 類型資料的「工具」,有用過python 處理過excel 資料的一定不陌生!
3-1. (後面舉例會提到的工具)「xlsx2csv」-> 快速的「食材加工機」
xlsx2csv 就像是一個「專門用來把整顆大白菜快速切成一片一片的「切菜機」」。
- 你從市場買回來的大白菜(Excel 檔案),有時候太大顆或包裝太複雜,直接用手(程式碼)去一片片剝開會比較慢。
xlsx2csv
這個工具就是一台獨立的機器,它的唯一功能就是幫你把那顆大白菜(Excel 檔案)快速地切成一片片的散裝菜葉(CSV 檔案),這樣你的「主廚」(Kernel)和「食材整理工具書」(Pandas)就能更輕鬆、更快速地處理這些散裝菜葉了。- 雖然「食材整理工具書」(Pandas)自己也能教你怎麼把大白菜一片片剝開(讀取 Excel),但這台「切菜機」往往在某些情況下(特別是超大的 Excel 檔案)會更快、更有效率。
-----
一個 Python 套件的名字。它的目的非常明確:將 Excel 檔案 (.xlsx) 轉換成 CSV 檔案 (.csv)。
為什麼需要這樣轉換?
- CSV 檔案更輕量: CSV 檔案是純文字檔案,通常比 Excel 檔案小很多,開啟速度更快。
- 通用性強: CSV 是一種通用的資料格式,幾乎所有的程式語言和資料庫都能輕鬆讀取和處理 CSV 檔案。
- 利於程式處理: 對於程式來說,處理純文字格式的 CSV 檔案通常比處理複雜的 Excel 檔案更直接、更有效率。當你使用 Python 處理大型 Excel 檔案時,有時候會建議先將其轉換為 CSV,然後再用 Pandas 讀取 CSV,可能會更快。
進階的友友可能會問: 在 Python 中,Pandas 本身就具備了將 Excel 檔案讀取進來,然後再輸出成 CSV 檔案的能力,為什麼要用這個?
簡單回答: 我處理的檔案太大單一工作表超過70萬筆資料,pandas跑起來非常慢....才用這個工具

xlsx2csv vs Pandas
Jupyter Notebook -> 你的「互動式廚房工作台」
- Jupyter Notebook 就像是一個很棒的「互動式廚房工作台」。
- 這個工作台上面有:
- 可以寫筆記的空間 (Markdown Cell):你在上面寫下「今天想做番茄炒蛋」或「這步驟要先洗菜」。
- 可以寫指令的空間 (Code Cell):你在上面用 Python 語言寫下「把番茄切丁」、「把蛋打散」。
- 當你寫好指令並按下執行後,它會馬上把做菜的「結果」顯示在你面前,比如切好的番茄、打散的蛋。
- 你不需要在寫完所有菜譜才開始做菜,你可以一步一步來,寫一步做一步,看到結果立刻調整,非常方便。
----
Jupyter Notebook (互動式開發環境): Jupyter Notebook 是一個互動式開發環境 (IDE)。它提供了一個網頁介面,可以將程式碼、文字、圖片、公式等內容結合在一起,以「筆記」的形式進行資料分析、視覺化和報告撰寫。你可以把它想像成一個「筆記本」,在裡面使用 Python 語言,並透過 Pandas 工具來處理資料。
在 Jupyter Notebook (筆記本) 這個環境中,用 Python (語言) 撰寫程式碼,並經常使用 Pandas (工具) 來處理和分析資料。
Kernel (核心) -> 廚房裡的「主廚」
- Kernel 就像是這個互動式廚房工作台裡面的「主廚」。
- 當你在工作台上寫下「切番茄」這個指令,主廚 (Kernel) 就會接收到這個指令,然後去執行切番茄的動作。
- 主廚會記住所有你做過的事情:你切了番茄、打散了蛋,這些「狀態」主廚都會記在腦子裡。所以你接下來的指令 (例如「把番茄和蛋炒在一起」) 就能順利進行,因為主廚知道番茄和蛋都已經準備好了。
- 只要這個主廚 (Kernel) 沒下班,你的菜就還在製作中,你的食材也都在桌上。如果主廚下班了 (關閉 Kernel),桌上的東西就沒了,你得重新開始準備。
----
打開一個 Jupyter Notebook 時,會啟動一個 Kernel。這個 Kernel 負責:
- 執行程式碼: 運行一個 Cell 時,Kernel 會接收Python 程式碼,然後執行並將結果傳回給 Jupyter Notebook 介面顯示。
- 管理變數和環境: Kernel 會記住你在各個 Cell 中定義的所有變數、函數和載入的套件。這就是為什麼你可以在一個 Cell 中定義變數,然後在另一個 Cell 中使用它。
- 狀態維持: 只要 Kernel 正在運行,你的程式碼執行的狀態就會被保持。這也是為什麼你可以逐步執行程式碼,並且每次執行都能基於之前的結果。
你可以把 Kernel 想像成一個獨立的 Python 運行環境。一個 Jupyter Notebook 可以連接不同的 Kernel (例如:Python 2 Kernel、Python 3 Kernel、R Kernel 等),但最常用的是 Python 3 Kernel。
當 Kernel 運行時,Jupyter Notebook 介面右上角有一個小圓圈,如果是實心代表 Kernel 正在忙碌運行,如果是空心則代表 Kernel 閒置。

「命令提示字元」-> 廚房的「總開關」與「對講機」
命令提示字元就像是廚房裡的「總開關」和「對講機」。
- 總開關: 你必須透過它,才能啟動你的「互動式廚房工作台」(Jupyter Notebook)。就像你要做菜,得先打開廚房的總電源,才能讓所有設備運作。
- 對講機: 有些特別的「主廚」(程式)不會自己跳出來,你必須透過這個對講機(命令提示字元)喊一聲:「喂!『主廚』Jupyter Notebook 請準備上工!」這樣,廚房工作台才會亮起來,主廚才會就位。而且,當你做完菜想讓主廚下班時,也要透過這個對講機說:「主廚,可以下班了。」然後主廚才能休息,工作台的燈也會熄滅。
----
命令提示字元 (Command Prompt 或 Terminal) 是一種基於文字的介面,透過輸入指令來與電腦系統互動。在 Windows 系統中,它通常被稱為「命令提示字元」;在 macOS 和 Linux 系統中,則稱為「終端機 (Terminal)」。

我是使用windows, 命令提示字元 (Command Prompt 或 Terminal)
在使用的過程中可以關掉命令提示字元嗎? 不可以!!
如果你關閉了這個命令提示字元視窗,就等於關閉了 Jupyter Notebook 的伺服器,在瀏覽器中打開的 Jupyter Notebook 會斷開連接,無法再執行任何操作,並且在瀏覽器中尚未保存的內容可能會丟失。

不要問我怎麼知道的....
正確的關閉方式是:
- 在 Jupyter Notebook 的瀏覽器介面中,點擊 "File" -> "Close and Halt" (關閉並停止) 或 "File" -> "Close and Halt and Delete" (關閉並停止並刪除,慎用)。
- 然後回到命令提示字元視窗,按下
Ctrl + C
(可能需要按兩次) 來停止伺服器。系統會詢問你是否要關閉,輸入y
或yes
即可。
「Anaconda」-> 豪華的「廚房整套設備」
Anaconda 就像是一整套「豪華的廚房裝潢與設備」。
- 你剛搬進新家,想有一個現代化的廚房來做菜。你可以自己一點一點去買爐子、冰箱、鍋碗瓢盆,這很麻煩。
- Anaconda 則是一個服務周到的「整體廚房解決方案」。它會一次性幫你把:
- Python 語言(廚房的語言)
- Jupyter Notebook(互動式廚房工作台)
- Pandas、Matplotlib 等常用套件(專業工具組和工具書)
- 還有其他一些必需品(例如讓一切能運作的底層管線和電力系統)
- 甚至還有一個像「廚房裝潢公司老闆」的圖形介面(Anaconda Navigator),讓你點一點就能開始用。
- 你只需要安裝 Anaconda,它就能確保你的廚房環境「一次到位」,所有東西都搭配得好好的,不需要你自己再去煩惱哪個工具買錯了、哪個語言版本不對。
下一步
將帶你走進流理台/你的「互動式廚房工作台」,讓我們好好看看處理資料的Jupyter Notebook 該如何使用,也幫助你跟AI對話時候,更知道自己在做什麼!
Excel 處理龐大資料總是當機?用 Python + AI 輕鬆解決!
系列暫定:
- 第一章 | 開火前準備:打造你的 AI 資料廚房 (各工具的比喻與安裝說明)
- 第二章 | Jupyter 開灶日記 (Excel 效能瓶頸 + Jupyter 使用介紹)
- 第三章 | 開始料理:讓資料動起來的第一道菜(Pandas 實戰篇! 實際)

資料廚房,開灶!