這是一個 Python 程式,用於分析 Excel 記帳檔案,計算各類別的總花費並找出花費最多的類別。
- 讀取 Excel 記帳檔案 - 從
data/project_1_with_fake_data.xlsx讀取資料 - 計算每個類別的總花費 - 統計各類別的總金額、筆數和平均花費
- 找出花最多錢的類別 - 識別花費最高的類別
- 輸出分析結果 - 將結果儲存至新的 Excel 檔案
data/expense_analysis_result.xlsx
- 圓餅圖 - 顯示各類別花費佔比,使用美觀的配色
- 長條圖 - 顯示每月花費趨勢,清楚呈現金額變化
- 堆疊圖 - 顯示各類別每月花費分布(額外圖表)
- 中文標籤 - 所有圖表都有清晰的中文標題和標籤
- 檔案上傳 - 支援拖放或點擊上傳 Excel 檔案
- 即時統計 - 自動計算總花費、平均花費、筆數等指標
- 互動式圖表 - 使用 Plotly 建立可縮放、可懸停的圖表
- 資料篩選 - 可選擇特定類別或月份進行分析
- 資料下載 - 可下載篩選後的資料為 Excel 檔案
- 美觀介面 - 簡潔現代的網頁設計,響應式佈局
輸入的 Excel 檔案應包含以下欄位:
- 日期 - 記帳日期
- 項目 - 消費項目名稱
- 金額 - 花費金額
- 類別 - 消費類別(如:飲食、交通、娛樂等)
# 進入 src 目錄
cd d:\Project_plan\src
# 使用 uv 建立虛擬環境(指定 Python 3.12)
uv venv --python 3.12# Windows PowerShell
.\.venv\Scripts\Activate.ps1
# 或使用 CMD
.\.venv\Scripts\activate.bat# 使用 uv 安裝依賴套件
uv pip install -r requirements.txt# 確保在 src 目錄下
python analyze_expenses.py# 產生圓餅圖、長條圖和堆疊圖
python visualize_expenses.py# 啟動 Streamlit 網頁應用程式
streamlit run dashboard.py啟動後會自動開啟瀏覽器,顯示互動式儀表板。
- 預設網址:http://localhost:8501
- 按
Ctrl+C可停止服務
程式執行完成後,會在 data 目錄下產生 expense_analysis_result.xlsx 檔案,包含三個工作表:
- 原始資料 - 完整的記帳資料
- 類別統計 - 各類別的總花費、筆數、平均花費
- 最高花費 - 花費最多的類別詳細資訊
圖表會儲存在 data/charts 目錄下:
- category_pie_chart.png - 各類別花費佔比圓餅圖
- monthly_trend_chart.png - 每月花費趨勢長條圖
- category_monthly_stacked_chart.png - 各類別每月堆疊圖
# 在 src 目錄下執行
uv venv --python 3.12
.\.venv\Scripts\Activate.ps1
uv pip install -r requirements.txt
python analyze_expenses.py
python visualize_expenses.pypandas>=2.0.0- 資料處理與分析openpyxl>=3.0.0- Excel 檔案讀寫matplotlib>=3.7.0- 圖表繪製與視覺化streamlit>=1.28.0- 互動式網頁應用程式框架plotly>=5.17.0- 互動式圖表庫
程式執行時會顯示:
正在讀取檔案: d:\Project_plan\data\project_1_with_fake_data.xlsx
原始資料預覽:
日期 項目 金額 類別
0 2024-01-01 早餐 80 飲食
1 2024-01-02 捷運 30 交通
...
總共有 XX 筆記帳資料
計算每個類別的總花費...
各類別花費統計:
總花費 筆數 平均花費
類別
飲食 XXXX XX XXX
交通 XXXX XX XXX
...
花費最多的類別: 飲食
總金額: $XXXX.XX
✓ 分析完成!結果已儲存至: d:\Project_plan\data\expense_analysis_result.xlsx
解決方法:請先安裝 uv
pip install uv解決方法:確認 data/project_1_with_fake_data.xlsx 檔案存在
解決方法:以系統管理員身分執行 PowerShell,或執行以下指令允許腳本執行
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUserProject_plan/
├── data/
│ ├── project_1_with_fake_data.xlsx # 輸入檔案
│ ├── expense_analysis_result.xlsx # 輸出檔案(執行後產生)
│ └── charts/ # 圖表目錄(執行視覺化後產生)
│ ├── category_pie_chart.png # 類別佔比圓餅圖
│ ├── monthly_trend_chart.png # 每月趨勢長條圖
│ └── category_monthly_stacked_chart.png # 類別月度堆疊圖
└── src/
├── analyze_expenses.py # 資料分析程式
├── visualize_expenses.py # 資料視覺化程式
├── dashboard.py # 互動式儀表板(Streamlit)
├── requirements.txt # 依賴套件清單
└── README.md # 說明文件(本檔案)
建立日期:2025-12-10