让 DeepSeek 辅助清洗业务数据时,先写出哪些日期和金额算有效。本例用 pandas 校验固定格式日期与非负整数分金额,把问题行放到 rejected.csv,合格行放到 clean.csv,保留原值和拒绝原因。
准备输入与运行环境
Python 3.11,安装 pandas。脚本内建立虚构三行数据:一行正常,一行无效日期,一行负金额。金额的规则是只接受非负整数分;如果实际表用“元”,应另定小数位与舍入规则。

给 DeepSeek 的任务说明
请校验 date、amount_cents 两列。date 严格为 YYYY-MM-DD 的有效日期;amount_cents 仅非负整数字符串。输出清洁行和问题行两个 CSV,问题行保存原值及原因。空值不能直接填零,不删除异常证据,输入行数要等于两种输出行数之和。
在本地运行与检查
将下面代码保存为 example_11.py。进入保存该文件的目录,在终端执行 python example_11.py。代码应由你检查后执行,按实际字段修改。
from pathlib import Path
import pandas as pd
outs = [Path("clean.csv"), Path("rejected.csv")]
if any(p.exists() for p in outs):
raise FileExistsError("输出已存在,请换文件名")
df = pd.DataFrame({"date": ["2026-09-01", "2026-02-30", "2026-09-03"],
"amount_cents": ["12500", "7500", "-100"]}, dtype="string")
format_ok = df["date"].str.fullmatch(r"\d{4}-\d{2}-\d{2}", na=False)
parsed = pd.to_datetime(df["date"].where(format_ok), format="%Y-%m-%d", errors="coerce")
money_ok = df["amount_cents"].str.fullmatch(r"[0-9]+", na=False)
reasons = []
for i in df.index:
why = []
if pd.isna(parsed.loc[i]):
why.append("invalid_date")
if not money_ok.loc[i]:
why.append("invalid_amount_cents")
reasons.append(";".join(why))
audited = df.assign(reject_reason=reasons)
good = audited["reject_reason"].eq("")
clean = audited.loc[good].copy()
rejected = audited.loc[~good].copy()
assert len(clean) + len(rejected) == len(df)
clean.to_csv(outs[0], index=False, encoding="utf-8-sig")
rejected.to_csv(outs[1], index=False, encoding="utf-8-sig")
print("input", len(df), "clean", len(clean), "rejected", len(rejected))
print(rejected.to_dict("records"))
异常隔离优于静默修补
日期 2026-02-30 无效,程序不能猜成 2 月 28 日。负金额可能是退款,也可能违反本表规则:若业务允许退款,应把规则改为允许有符号金额并说明,不把所有负数默认删掉。
用真实文件替换示例
用 pd.read_csv("input.csv", dtype="string", keep_default_na=False) 读取副本,再核对字段名。保留原值以便追溯;有隐私的表不要整表粘贴给模型,只提供脱敏的字段和样例。通过规则的行也应抽查,字段合法不能证明金额真实。
怎样确认结果正确
示例应输出 input 3 clean 1 rejected 2。clean.csv 保留 2026-09-01 和 12500;rejected.csv 分别写 invalid_date 与 invalid_amount_cents。打开两个文件核对原值未被改写,行数之和仍为 3,再由业务人员确认拒绝规则。
适用边界与常见问题
这是一组虚构数据的规则清洗,没有真实业务效果或自动修复保证。缺失日期、退款、时区与金额精度需要业务定义;本例不做编号去重、统计推断或训练数据筛选。
资料依据
接口说明核验日期:2026 年 10 月 1 日。pandas 日期解析;CSV 读写。
Ai菜鸟网。发布者:AI小管家,转载请注明出处:https://www.alyyhw.com/30327.html