看见逗号不等于应该分列
Claude输出的CSV导入后多一列,先看出错字段是否包含逗号、双引号或换行。用split逗号和split换行拆文本,会把字段内部内容当成记录结构;提示词再强调“输出CSV”也不能修复错误的导入器。
本例只处理id与note两个字符串列,不做数据清理。保留原值、固定列数,让格式问题与材料提取错误分开检查。
三条记录覆盖最容易漏掉的边界
虚构记录A备注为“北京,上海”;B为“他说双引号包住的好字”;C为两行文字。B在完整代码里的实际值是他说"好",C包含CRLF。预期始终是三条数据记录,每条两列,文字不能拆散。
RFC 4180记录了一种常见CSV格式:含逗号、引号和换行的字段使用双引号包裹,内部双引号写成两个。它是信息类RFC,并不消除所有软件的CSV方言差异。

统一加引号,避免临时猜哪些字段需要处理
文末序列化函数给每个字段都加双引号,并把字段内部引号成对转义,记录间使用CRLF。列头固定为id、note,每行严格两个字符串,不默默把null或对象转换成文本。
C的一条记录在文本中占多个物理行,这是合法的带引号字段现象。不能再用文本行数减一估算记录数;正确读取需要识别引号状态的CSV解析器。示例没有实现导入器。
运行后核对哪些字符
保存为csv-field-serialize.mjs,用Node.js 24 LTS运行node csv-field-serialize.mjs --demo。程序用JSON字符串展示结果,转义的反斜杠r和n表示实际回车换行,不要把屏幕展示层的反斜杠当成CSV必须包含的字符。
测试逐字符比对了逗号字段、内部双引号、字段内CRLF、固定列头与记录终止符。实际写文件应把serializeCsv返回值直接按约定编码写入,不对它再次JSON.stringify后当CSV保存。
交给Claude的是故障证据,不只是文件名
提供一条脱敏原始记录、预期两列、实际导入的列数、使用的软件与导入选项。要求保留字段内容修复序列化或解析,不通过删除逗号和换行来让错误暂时消失。
CSV引号只处理格式,不是电子表格公式安全机制;本例没有测试以公式字符开头的字段、Excel行为、编码识别或BOM。针对这些需求,应在授权测试环境另验,而不是宣称所有导入都兼容。
本地验证与产品效果分开
本例实际执行了本地字符串序列化与异常输入检查,没有调用Claude生成CSV,也没有向电子表格软件导入。原始材料是否提取准确仍要逐字段回查。
若导入后仍错列,先确认分隔符、编码、文本限定符和读取器,不让同一段文本在不同环节重复转义。保留原CSV与导入配置,才能复现是哪一步改变了结构。
参考资料与核验范围
资料核对日期:2026年10月21日。以下为官方原始资料;产品入口和可用范围仍以当前账户为准。
1. [官方资料1](https://platform.claude.com/docs/en/test-and-evaluate/develop-tests)
2. [官方资料2](https://www.rfc-editor.org/rfc/rfc4180)