用途:为 NodeJS-Starter-V1 提供 CSV 流式解析与生成模式,覆盖用户上传导入、数据导出下载、大数据集解析、行结构校验与格式转换,适用于 Next.js 前端与 FastAPI 后端。
主要能力:逐行流式处理,不将整文件载入内存;每行经 Zod(前端)或 Pydantic(后端)校验;输出遵循澳大利亚本地化(日期 DD/MM/YYYY、货币 AUD、澳式英语表头)。前端推荐 papaparse(pnpm add papaparse,类型 pnpm add -D @types/papaparse);后端使用 Python 内置 csv 模块,异步文件 I/O 可选 uv add aiofiles。
使用方式:前端用 Papa.parse 的 step 回调逐行校验并收集有效行与错误;导出用 Papa.unparse 生成 Blob 下载。后端导入端点接收 UploadFile,用 csv.DictReader 逐行解析并返回 ImportResult(总行数、有效行、错误行、错误列表);导出端点用 csv.DictWriter 配合 StreamingResponse 返回 text/csv。超过 10 MB 的文件可用异步生成器分块读取。
限制与注意:不适用于无文件上传的表单校验、PDF/HTML 报告生成、JSON API 响应处理及 xlsx、parquet 等二进制格式。避免 file.text() 后按换行拆分、整文件载入数组、无行校验、硬编码列索引、MM/DD/YYYY 日期及未处理 UTF-8 BOM。文件类型、大小(默认 10 MB)需校验,错误行以行号与问题形式返回。具体收费、平台与效果资料暂未提供。