CSV 一条备注里有多行文字,怎样分批交给 AI 又不把记录拆断
先让CSV读取器得到完整逻辑记录,再按记录数拆批,每条附稳定row_id;批次处理完依据原映射重组,才能保留引号内换行、逗号及原始顺序。CSV读取基础已有相关文章,这里新增的任务是完成拆批到重组的闭环。
记录编号比物理行号可靠
附件五条合成记录中,第一条备注含换行,第二条含逗号,第四条含转义引号。按文本行数切割会把第一条拆成两半。脚本先使用csv.reader并启用strict,再对解析后的数据记录分配r0001至r0005;表头不计作数据。row-map.csv保存原记录序号、批次和批内位置,让后续即使批次返回顺序不同,也能恢复原序。
每批都能独立读取
本例每批最多两条数据,生成三份batch文件,每份重复表头并带row_id。两个完整记录写进第一批,两个写进第二批,最后一条写进第三批。引号与换行由CSV写入器处理,不手工拼逗号。若实际还受字符预算限制,一条超大的记录应单独交人工或改变任务设计,不能为了满足批大小截断备注。
按映射重组并检查集合
重组阶段逐批读取,核对表头,拒绝重复id,再比较收到的id集合与原映射。最后按原id顺序写recombined.csv,移除额外的row_id列。读者应核对五条记录仍然存在、第一条备注仍有两行、第四条引号保留;对逻辑记录进行相等比较,而不要求不同系统换行符逐字节相同。附件实际走完这次往返,不止检查批文件能打开。
坏文件和改写内容不要混为一谈
失败命令加入未闭合引号,strict读取会明确失败。默认宽松解析可能吞掉后续内容,不能据“没有报错”认定原CSV完整。若交给AI做转换,除了id完整还应核对它是否改了不允许改的字段;row_id保证关联与顺序,不保证语义正确。这个下载包没有发送任何客户数据,也没有调用AI,生成批次只是让读者复用拆合机制,业务转换仍需定义自己的核查条件。
若模型返回每批转换结果,要求它保留row_id并明确可修改列,再以原映射驱动重组。不能按返回文本出现顺序猜原序,也不能把重复表头当作一条记录。每批都成功仍需核对全体id集合,防止漏下载最后一批而交付不完整总表。
下载与复现
下载完整样例包,解压到一个新文件夹;也可查看全部文件清单和主脚本。使用Python 3.10或更新版本,在解压目录运行。此脚本只使用标准库,无需安装额外包。
python -B run.py
python -B run.py --negative
先查看主要结果,再修改输入重跑;已有输入会保留,结果写回同目录。边界命令可能故意非零退出,也可能输出明确的不适用状态,按正文说明判断,不把所有非零退出都当成安装故障。
依据与延伸阅读
资料核对日期为2026年10月24日。一手资料1:csv读取器按逻辑记录处理引号内换行,strict用于显式拒绝坏引号输入。
继续阅读:用 WorkBuddy 整理 CSV,怎样避免订单号和编号前导零丢失;AI 把各组百分比直接求平均,怎样重建有分子分母的总表;AI 写的小工具接管道就解析失败,怎样把数据输出和进度提示分开。
留言讨论
评论发布后会被人工复核,违规内容将被删除。
如果发表没有反应,可以前往联系我们告诉我们。