CSV有20题却导成23行,怎样处理字段内换行和双引号

2026-10-24

CSV看着有20题却被导成23行,先检查是否把物理换行当成记录边界。合法CSV字段可以包含换行、逗号和双引号,需要按CSV语法解析;逐行split或按逗号简单切分会把同一题拆开。先确定逻辑记录数,再讨论题库业务字段。

先确定文件与环境

附件是两条虚构题目记录,第一条题干含真实换行与逗号,答案含双引号。它用于CSV语法验证,不是任何产品的直接导入模板,也不宣称现有Quiz支持CSV。若产品要求Excel,应按支持格式转换并验证,不把通用CSV示例当成后台格式承诺。

操作与判断

  1. 保留原CSV字节副本,用文本工具查看引号包裹与转义,记录文件编码。不要在看到多行时先删除所有换行,题干本来可能需要分段,删除会改变内容。

  2. 使用支持CSV记录规则的解析器,按newline约定打开文件,再统计逻辑记录。第一行表头与后续记录分开,记录中含换行不会自动变成新题,空记录的处理也要有约定。

  3. 对每条记录核对字段数量、ID和含引号字段,至少覆盖逗号、双引号、换行三个边界。解析错误要带记录位置和原因,不能静默把多余列合并到最后一列。

  4. 将解析结果按目标产品支持方式导入测试副本,再读回题干和答案,检查换行与引号是否保留。语法通过不证明业务答案有效,内容审核和题型规则仍需独立检查。

输入对照与结果边界

输入CSV表示原则逻辑含义
题干含换行整个字段用双引号包裹同一条记录
答案含双引号字段内双引号重复保留一个引号
普通第二题正常一行第二条记录

verify.py实际读取multiline.csv,输出两条逻辑记录,并确认第一条包含换行、逗号与引号。物理文本行数大于记录数是合法现象,不是文件损坏。RFC4180描述一种常见CSV格式,实际接收方可能有不同dialect,应把分隔符、编码与换行方式作为明确契约。

下载并复核

含真实换行引号的CSV、逻辑记录解析、本地结果。

下载multiline.csv与verify.py,先运行只读解析观察physical_lines与logical_records。正式文件应同时保存原件与解析错误报告;若使用表格软件重存,还需确认它没有改变编码、日期、前导零或换行。不要为了“每题一行”把有意义的题干分段全部替换为空格。

已实际用csv.DictReader解析两条记录,并确认字段内换行和引号保留。未导入Quiz或任何真实题库。

失败时怎样继续

记录数正确但字段错位,检查分隔符、引号闭合和转义;只有某一题失败时将最小反例单独留存。若目标产品不允许字段内换行,应在内容规则明确替代表示,而不是让解析器随机拆题。数据中出现公式样式文本时也要按接收系统的纯文本约定处理,不能自动执行内容。

交付应给出逻辑记录数量、字段定义和边界样例,接收方以解析与读回结果核对。模板版本与目标产品导入格式分开登记,避免后续换工具又回到逐行拆分。本文完成语法层解析,没有连接实际题库后台,也没有验证题目内容或正确答案。

相关背景可看答题题库怎么设计?题型/难度/分值与导入实操,继续从多媒体播放专题查找相关流程;需要结合项目确认时可查看工程对接咨询。

一级出处

来源核对日期:2026-10-24。来源支持所述机制;本文合成输入与本地计算只证明所列文件及算法,不代表目标软件或现场设备已验收。

需要展厅软硬件方案或定制开发?

加微信,把这一页发到你手机上

扫码加站长企业微信,会自动把这一页的链接发给你。问软件授权、报价,或者现场遇到问题,也可以直接聊。

去留微信

留言讨论

评论发布后会被人工复核,违规内容将被删除。

    还没有人评论,来说说你的看法

    如果发表没有反应,可以前往联系我们告诉我们。

    这个页面有问题?

    提交时会附带当前页面地址和浏览器信息,帮助我们定位问题。不填联系方式即为匿名。