第五天,我們要讓程式真正具備「與外部檔案對話」的能力。在真實的資料分析工作中,資料絕大多數都不會直接寫在 Python 程式碼裡,而是以 CSV、Excel 或文字檔儲存在硬碟中。今天我們建立純 Python 腳本 day05_file_io.py,學習如何使用 Pandas 匯出與載入 CSV 檔案,並解決在繁體中文 Windows 環境下最常踩到的編碼亂碼問題。\
第一部分
新建 day05_file_io.py。首先建立一組模擬的銷售數據,並將 DataFrame 匯出為本機的 CSV 檔案。為了避免預設的數字索引欄位(0, 1, 2...)也被存進檔案導致下次讀取時多出一欄,記得加上 index=False,並設定 encoding="utf-8-sig" 確保包含中文的內容在 Excel 中直接開啟不會變成亂碼:
第二部分
接著使用 Pandas 最經典的 pd.read_csv() 函式將剛剛寫入的外部檔案讀進記憶體中,並使用 head() 快速預覽前幾筆資料,同時檢查資料列數與欄位資訊:
第三部分
最後示範讀取外部檔案後,如何使用 .info() 檢查每一個欄位的資料型別與非空值數量,並透過簡單的布林遮罩篩選高單價訂單,再將篩選結果單獨另存成一份新的分析報告 CSV:
第四部分
在終端機輸入 python day05_file_io.py 執行驗證,確認終端機順利印出資料表與 info() 摘要,且資料夾下產生了 daily_sales.csv 與 high_value_sales.csv 兩個檔案。確認存檔(Ctrl + S)後推送到 GitHub 進行版本控制:
今日心得/遇到的問題
今天學會了資料分析最核心的 CSV 存取流程。在處理中文資料時,最容易踩的坑就是編碼問題:如果直接用預設的 utf-8 存檔,用微軟 Excel 點兩下打開時很容易看到一堆「」等亂碼符號,改成 utf-8-sig(帶有 BOM 標記)後就能在 Excel 與 Python 兩端都完美顯示。此外,在匯出時加上 index=False 能避免每次重讀就多出一個 Unnamed: 0 的無用索引欄位,是非常實用的小細節。