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,否则中文列名是乱码。