用途:为 NodeJS-Starter-V1 项目提供流式 CSV 解析与生成模式,支持用户上传导入、数据导出下载、大型数据集(1000 行以上)解析、按模式校验行结构及格式转换。适用于 Next.js 前端与 FastAPI 后端。
主要能力:遵循三条原则——始终流式逐行处理而非整体载入内存、每行经 Zod(前端)或 Pydantic(后端)校验、输出本地化。前端推荐 papaparse(安装 pnpm add papaparse,类型 pnpm add -D @types/papaparse),后端使用内置 csv 模块,异步文件 I/O 可装 aiofiles(uv add aiofiles)。提供带 Zod 校验的导入、带澳式格式的导出、文件上传组件、FastAPI 导入/导出端点以及 10 MB 以上大文件的异步生成器流式读取。日期导出用 DD/MM/YYYY,导入接受 DD/MM/YYYY 或 ISO 8601,数据库存 ISO 8601;货币为 AUD($X,XXX.XX),并支持 UTF-8 BOM 处理。集成点包括与 data-validation 共用行模式、UploadFile 与 StreamingResponse 的 API 契约、结构化日志及错误分类(格式错误 422、文件过大 413)。
使用方式:前端用 Papa.parse 的 step 回调逐行校验并累积有效行与错误;后端用 csv.DictReader 逐行构造 Pydantic 模型,导出用 csv.DictWriter 配合 StreamingResponse,并设置 Content-Disposition。执行时按固定响应格式输出([AGENT_ACTIVATED]、[PHASE]、[STATUS]、[NEXT_ACTION])。
限制:不适用于无文件上传的表单校验、PDF/HTML 报告生成、JSON API 响应处理及二进制格式(xlsx、parquet)。避免 file.text() 后按换行拆分、整体载入数组、缺少行校验、硬编码列索引、使用 MM/DD/YYYY 及不处理 BOM 等反模式。具体收费、价格与效果资料暂未提供。