Python 自动化接单实战(一):把 CSV 需求做成配置驱动解析器

很多 Python 自动化需求看上去不同,拆开后却很相似:客户给一批 CSV 或 JSON 数据,希望改字段名、转换类型、补默认值、做校验,再输出一份干净文件。

真正麻烦的地方通常不是写出第一版脚本,而是规则经常变化。如果字段名、单位、阈值都写死在代码里,客户每调整一次格式,都要重新修改和部署。更稳妥的做法是把规则放到外部配置中,让核心程序只负责读取规则并执行。

我把这个思路做成了一份公开、可运行的最小样品:

一、先把"会变的规则"从代码里拿出来

样品中的配置文件用一行描述一个字段规则:

csv 复制代码
source,target,type,required,default,trim,case,multiplier,offset,min,max,choices
device_id,id,string,true,,true,upper,,,,,
temperature_c,temperature_f,float,true,,true,,1.8,32,-40,212,
status,status,string,true,unknown,true,lower,,,,,online|offline|unknown

这几行配置表达了三类常见需求:

  1. device_id 改名为 id,去掉首尾空格并转成大写;
  2. 摄氏温度乘以 1.8 再加 32,输出华氏温度;
  3. 状态为空时使用 unknown,并限制在指定枚举范围内。

这样做的价值不是少写几行代码,而是把"业务变化"变成"修改配置"。字段顺序、目标名称、默认值和阈值变化时,不需要碰核心处理逻辑。

二、把类型转换与数据校验放在同一条流水线

数据处理脚本最常见的问题,是转换成功了却没有验证结果。例如字符串 12.5 被强行转成整数,空值被默默写成 0,或者状态字段出现了未定义的新值。

样品把每个字段依次经过以下步骤:

text 复制代码
读取原始值
  -> 判断是否缺失
  -> 应用默认值
  -> 去除首尾空格
  -> 类型转换
  -> 大小写或数值换算
  -> 最小值、最大值、枚举校验
  -> 写入目标字段

当某一行出现问题时,程序不会只打印一句模糊的"转换失败",而是记录行号、字段和具体原因。合格数据进入输出文件,错误记录进入独立 JSON 文件,方便后续人工核验或二次处理。

三、用可重复测试证明"能运行"

展示代码时,只有截图和描述远远不够。一个可交付的小型自动化至少应包含:

证据 作用
输入样例 说明程序面对的数据结构
配置样例 说明哪些规则可调整
预期输出 明确正确结果是什么
自动测试 修改代码后快速判断是否破坏原功能
README 让没有参与开发的人也能运行

这个样品的测试会真正启动命令行程序,读取 CSV 配置和输入,再把实际输出与 expected.json 比较。运行方式如下:

bash 复制代码
cd demos/config-driven-parser
python -m unittest -v

主流程也可以直接执行:

bash 复制代码
python parser.py \
  --config config.csv \
  --input input.csv \
  --output output.json \
  --errors errors.json

成功时会输出:

text 复制代码
processed=3 accepted=3 rejected=0

四、从免费样品扩展成真实交付

最小样品解决的是通用骨架,真实项目通常还会增加以下能力:

  • 读取和生成 Excel 文件;
  • 批量处理多个目录或压缩包;
  • 日期、金额、单位和字段依赖规则;
  • 图形界面或网页上传入口;
  • 定时执行、结构化日志与失败重试;
  • 打包成 Windows 可执行文件;
  • 输出处理统计和异常报告。

报价前应先确认四件事:输入样例、期望输出、数据规模和验收标准。范围清晰的小任务,可以拆成一个 24--72 小时内可验证的固定交付;规则还没说清楚时,先做最小样例验证,比直接堆功能更省时间。

如果你手里也有重复处理 CSV、Excel 或 JSON 的工作,可以提交一份脱敏样例和期望结果,我会先免费判断是否适合自动化,再确认范围与价格:

https://github.com/jhhjwei/codex-runner/issues/new?template=code-fix-request.yml

请勿在公开链接中提交密码、Cookie、Token、私钥或真实个人数据。


📌 本文用配置驱动解析器展示了如何把 CSV 需求拆成可运行、可测试、可验收的自动化样品。

💬 你最想先处理 CSV、Excel 还是 JSON 中的哪类重复数据问题?

👉 关注《Python 自动化接单实战》,下一篇继续把同一套规则模型扩展到 Excel 批量清洗与异常报告。

参考来源

相关推荐
m沐沐1 小时前
【深度学习】循环神经网络RNN——结构、原理与长期依赖问题解析
人工智能·pytorch·python·rnn·深度学习·算法·机器学习
XS0301062 小时前
Spring框架
java·后端·spring
风吹心凉2 小时前
python3基础2026.7.28
开发语言·python
Rabitebla2 小时前
C++ 内存管理全面复习:从内存分布到 operator new/delete
java·c语言·开发语言·c++·算法·leetcode
曲无忆2 小时前
LLMs赋能依赖类型证明自动化
python
IT小白杨2 小时前
指纹浏览器安全架构技术评测与API自动化能力对比
经验分享·安全·自动化·业界资讯·安全架构·指纹浏览器
一次旅行2 小时前
act本地预跑GitHub Actions:Python项目完整CI/CD流水线实战
python·ci/cd·github
玉鸯2 小时前
RAG 全链路调优指南:从 Chunking 到 Reranker
python·llm·agent
我是人✓2 小时前
SQL主键与外键
java·数据库