补全:文件打不开交回 4
补全 read_text:打不开就交回 None,让 main 交回 4。输出对一个不存在路径的调用结果。
补全:缺列要说出缺哪列
补全 check_columns:交回缺少的列名列表(按 NEED 的顺序)。输出两份表头各缺什么。
补全:坏行跳过并记下原因
补全 clean:转不了的行记成 (行号, 原因) 跳过,原因用 "qty" 或 "price" 说明是哪一列。输出好行数和坏行明细。
补全:把报告写成一句话
补全 report:交回「处理N行,跳过M行:行号列表」(行号多个用逗号连,数字和汉字之间不留空格,如「处理7行,跳过1行:7」);没有坏行时交回「处理N行,全部通过」。输出两次调用的报告(用 | 拼)。
哪些东西该变成参数
把数据工具变成命令行工具时,下面四样里最该做成参数的是【0】。
为什么 --by 是个好参数
n04 里 by_key(rows, key) 能按任意列汇总。把它暴露成 --by store 这样的选项,价值在于【0】。
解析出来的三个参数
下面的解析器带 --by 和 --format 两个选项。运行程序,看两组参数各解析出什么: import argparse p = argparse.ArgumentParser(prog="dtool") p.ad
补全:把解析器搭起来
补全 build_parser:位置参数 input,选项 --output(默认 result.csv)、--by(默认 store)、--format(默认 csv,只许 csv/json)。输出一组解析结果。
补全:用法错交回 2
沿用 project_01 的 QuietParser。补全 main:解析失败交回 2,成功交回 0。输出三组参数的退出码。
补全:--by 接到汇总函数上
补全 run:解析 argv,按 a.by 分组汇总。输出按 store 和按 date 各汇总出几组。