Python 處理 CSV(pandas)
讀 CSV、清洗、分組、導出的一整套。
範本正文
import pandas as pd
df = pd.read_csv("orders.csv", dtype=str, keep_default_na=False)
# 清洗
df["amount"] = pd.to_numeric(df["amount"], errors="coerce").fillna(0)
df["channel"] = df["channel"].str.strip()
# 過濾 + 分組
result = (
df[df["status"] == "paid"]
.groupby(["channel"], as_index=False)
.agg(orders=("id", "count"), total=("amount", "sum"))
.sort_values("total", ascending=False)
)
# 導出(中文用 utf-8-sig,Excel 打開才不亂碼)
result.to_csv("out.csv", index=False, encoding="utf-8-sig")怎麼用
做數據統計和導出報表時使用。
使用要點
- dtype=str 讀進來再轉類型,能避免「007」被吃成 7。
- 導出 CSV 給 Excel 用 utf-8-sig,否則中文列名是亂碼。