1
📄
Extract transactions从PDF中读取日期、摘要、借方、贷方及余额
2
🏷️
Apply CATEGORY_DICTIONARY匹配关键词(Grab、TNB、Shopee、Netflix……)
3
🧮
Calculate totalsIncome, 费用, Net Cashflow per category
4
📊
构建 summary + report就绪 for 保险库 / Recompiler
import pdfplumber
from collections import defaultdict
CATEGORY_DICTIONARY = { ... } # Income, Food, Transport, Shopping...
def categorize(desc):
desc = desc.lower()
for cat, kws in CATEGORY_DICTIONARY.items():
if any(k in desc for k in kws): return cat
return "Other"
def parse_maybank_pdf(path):
txns = []
with pdfplumber.open(path) as pdf:
for page in pdf.pages:
for row in page.extract_tables()[0]:
txns.append({"date": row[0], "desc": row[1], ...})
return summarize(txns)