CSV 校验器
已加载文件:
一个在电子表格里能正常打开的 CSV,仍可能在导入数据库或上传到 API 时失败。本校验器按照 RFC 4180 的规定读取文件,并列出每一处结构问题及其行号:一直没有闭合的引号、列数不对的行、为空或重复的表头名称、文件开头的字节顺序标记(BOM),以及留在行尾的分隔符。粘贴文本或选择文件,选好分隔符(也可以让工具自动检测),然后查看报告即可。
如何校验 CSV 文件
-
1
粘贴或上传 CSV
把文本粘贴到输入框,或选择 .csv、.tsv、.txt 文件。支持最多 1,000,000 个字符的文件。
-
2
选择分隔符和表头行
分隔符可保持自动检测,也可以指定为逗号、分号、制表符或竖线。同时说明第一行是否为列名。
-
3
查看报告
每个问题都会附带行号和通俗的说明,并标明是错误还是警告。可以复制报告分享给他人。
-
4
修改后再次检查
在编辑器中修正相应的行,然后重新开始并再次粘贴文件,直到报告显示没有发现问题。
校验器检查哪些内容
RFC 4180 是 CSV 最接近标准的规范。它规定记录之间用换行符分隔;包含分隔符、引号或换行符的字段必须用双引号括起来;带引号字段内部的引号要写两遍("")。校验器会把这些规则应用到你的文本上,再加上几项实际使用中很重要的检查。
检查项目及报告方式
| 检查项 | 严重程度 | 触发条件 |
|---|---|---|
| 引号不成对 | 错误 | 带引号的字段已打开,但文件在它闭合之前就结束了。显示的行号是引号打开的那一行。 |
| 无引号字段中出现引号 | 错误 | 不以引号开头的字段中间出现了 ",例如 5" pipe。 |
| 结束引号之后还有文本 | 错误 | 结束引号后面跟的不是分隔符或换行,例如 "abc"def。 |
| 列数 | 错误 | 某一行的字段数比第一行多或少。 |
| 表头名称为空 | 错误 | 表头行中有列名是空白的。 |
| 表头名称重复 | 错误 | 忽略空格和大小写后,两列的名称相同(Name 与 name)。 |
| 字节顺序标记 | 警告 | 文件以不可见字符 U+FEFF 开头。 |
| 行尾多余分隔符 | 警告 | 某一行以分隔符结尾,因此多出一个空列。 |
| 空行 | 警告 | 记录之间有空行。 |
分隔符
自动模式会查看前 25 个非空行,选出最常把这些行拆成相同字段数的逗号、分号、制表符或竖线。带引号字段里的分隔符会被忽略,所以 "Smith, J" 不会被算作两列。如果两个候选并列,则选逗号。在以逗号作小数点的地区,用分号分隔的文件很常见;如果文件中两种情况混用,请自行选择分隔符。
行号
行号按你提供的文本中的物理行计算,从 1 开始。包含换行的带引号字段会跨越多个物理行;该记录中的问题会报告在记录开始的那一行。
CSV 出错的常见原因
- 电子表格导出时加入了 BOM,有些导入工具会把它当作第一个列名的一部分。
- 含有逗号或引号的自由文本列,没有被导出脚本用引号括起来。
- 合并了列数不同的文件。
- 脚本在写出每个值时都在后面加分隔符,导致行尾多出逗号。
常见问题
不算。只要该行的字段数与第一行相同,最后的空值就只是普通数据。只有当行尾分隔符使该行比第一行多出一个字段,或者表头行本身以分隔符结尾时,校验器才会给出警告。
带引号的字段一旦没有闭合,其后的所有内容都会被当作该字段的一部分,后面的行也就无法可靠地比较。请修正报告所指行上的引号,再校验一次,即可看到后续的问题。
不会。它只检查文件的结构:引号、分隔符、列数、表头名称、字节顺序标记和空行。它不会判断某个值是否为有效的数字、日期或邮箱,文本按 UTF-8 读取。
不会。你粘贴的文本或选择的文件在你的浏览器中读取和检查,不会发送到我们的服务器,也不会加入页面链接。在各步骤之间,内容只保存在你当前的浏览器标签页中,重新开始会将其清除。链接中只会出现分隔符和表头的选择。
相关工具
Webpack 配置生成器
为纯 JavaScript、React 或 Vue 项目生成 webpack 5 的 webpack.config.js:支持 TypeScript、Babel、CSS 或 Sass、图片、HtmlWebpackPlugin、开发服务器,并给出 npm install 命令。
ASCII 表参考
完整 ASCII 表,覆盖 0 到 127;列出每个代码的十进制、十六进制、八进制、二进制值和 HTML 数字字符引用写法,包括 NUL、LF、DEL。
PHP 格式化工具
为简单的 PHP 代码片段添加换行和 2 或 4 个空格的缩进。请检查结果:本工具不是 PHP 解析器,也不会执行 PSR-12 规范。
Protocol Buffers 解码器
在浏览器中解码 hex、Base64、Base64URL、文本或文件中的 Protobuf 线格式字节,准确检查字段候选解释并导出私密报告。
HTML 字符参考
可搜索的 HTML 实体列表,含命名代码与数值代码,并支持一键复制特殊字符和符号。
文件大小转换器
在字节、KB、MB、GB、TB及IEC二进制单位(KiB、MiB、GiB、TiB)之间转换,可自由组合十进制与二进制。
此工具还提供其他语言版本
- Walidator CSV [PL]
- ตัวตรวจสอบ CSV [TH]
- Validador de CSV [ES]
- CSVバリデーター [JA]
- Trình kiểm tra CSV [VI]
- CSV 검사기 [KO]
- Validateur CSV [FR]
- Validador de CSV [PT]
- CSV-validerare [SV]
- مدقق CSV [AR]
- CSV-Validator [DE]
- Validator CSV [ID]
- CSV-validator [NL]
- CSV Validator [EN]
- Validatore CSV [IT]
- Валидатор CSV [RU]
- CSV Doğrulayıcı [TR]