Tablora · 资料库
检查混合CRLF与LF行尾的记录
从多个导出文件粘贴的文本可能混有CRLF、LF和CR换行。只要不在引号内,结构检查工具都把它们当作记录边界。
混合换行从何而来
Windows程序通常用回车加换行(CRLF)结束每一行,Unix和macOS工具只用换行(LF),一些较旧的系统则只用回车(CR)。把不同程序的输出拼在一起,或把一个文件的一部分粘贴到另一个文件中,一段文本就可能同时包含三种。有些工具随后会把两条记录合成一条,或把一条记录拆成两条。
只要位于带引号的字段之外,结构检查工具都会把这三种当作一条记录的结束。引号内的换行属于该单元格的文本,不会开始新的记录。
清点记录
- 把完整的文本一次性粘贴到“表格文本”中,而不是分段粘贴。
- 选择“字段分隔符”或保持“检测分隔符”选中,然后点击“计算”。
- 把“行数”与根据原始页面预计的记录数进行比较。
- 查看“宽度不同的行”;值为0表示每条记录的字段数都与表头相同。
- 如果数据中有带引号的备注,请单独检查这些单元格,因为其内部的换行会被保留。
Mira和Noah示例
本页示例包括表头id,name和两条记录1,Mira与2,Noah,“字段分隔符”为逗号,各行之间的换行方式不同。结构检查工具报告3行2列。第3行第2列为Noah,说明即使换行方式不一致,最后一条记录也被找到了。
文本末尾的单个换行不会增加一条空记录。
下载如何处理换行
无论输入使用哪种换行,“下载 (CSV)”都会把每个记录边界写成CRLF,所以下载的文件是一致的。带引号单元格内的换行按原样写在引号内。Tablora应用的CSV导出也以CRLF结束每一行。
如果接收方程序显示的记录数仍然不对,请在改动数据之前,先检查它在导入设置中对带引号字段的处理。
计数仍然不对时
- 行数多于预期,可能意味着原始资料中某个未加引号的值里有换行。
- 行数少于预期,可能意味着某个开引号吞掉了后面的行;请查找未闭合的带引号字段。
- 在检查文本之前,不要手动替换换行;解析器已经能处理这三种。
- 只用回车结束行的系统产生的文本,在某些编辑器里看起来像一整行。结构检查工具仍会把它拆成记录,所以请相信“行数”,而不是编辑器的显示。
输入值
- 表格文本
- id,name 1,Mira 2,Noah
- 字段分隔符
- ,
结果
- 行数
- 3
- 列数
- 2
| id | name |
|---|---|
| 1 | Mira |
| 2 | Noah |
- 宽度不同的行
- 0