CSV/TSV 解析器
CSV(逗号分隔值)是一种简单的表格数据格式,被电子表格和数据库广泛支持。此工具解析 CSV 和 TSV 文件,自动检测分隔符,处理带引号的字段,并以格式化表格显示数据。
规范
常见用例
- 在导入数据库前预览 CSV 导出文件
- 将 CSV 转换为 JSON 供 API 使用
- 验证电子表格的数据导出
- 快速检查日志文件和数据转储
功能
- 自动检测分隔符(逗号、制表符、分号、管道符)
- 以带表头的格式化表格显示
- 转换为 JSON 对象数组
- JSON 表示的交互式树视图
- 复制为 HTML 表格
- 转置行和列
示例
用户数据
试试看 →一个包含用户信息的 CSV 文件。
name,email,role
Alice,alice@example.com,admin
Bob,bob@example.com,user
Charlie,"charlie@example.com",user提示
- 第一行通常被视为表头。
- 包含逗号或换行符的字段应用双引号括起来。
- 引号字段中的双引号用 "" 转义。
- TSV(制表符分隔)可以避免许多引号问题。
理解 CSV/TSV 解析器
CSV(逗号分隔值)是最古老、最广泛支持的数据交换格式之一。尽管它很简单,但 CSV 有足够的歧义性导致持续的互操作性问题。RFC 4180 定义了一个标准,但许多生产者偏离了它,导致在分隔符、引号、编码和行尾方面出现解析问题。
基本结构是每行一条记录,字段用逗号分隔。当字段包含逗号、换行符或双引号时,必须用双引号括起来。引号字段中的双引号通过加倍来转义("")。第一条记录通常被视为表头行,但这是惯例而非要求。
分隔符变体很常见。TSV(制表符分隔值)使用制表符,避免了大多数引号问题。使用逗号作为小数分隔符的欧洲地区通常使用分号作为字段分隔符。管道分隔文件出现在遗留系统中。好的 CSV 解析器会通过分析前几行来自动检测分隔符。
字符编码是另一个常见的问题来源。Windows 上的 Excel 使用系统本地编码而不是 UTF-8 保存 CSV。在 Excel 中打开 UTF-8 CSV 可能显示乱码字符。在文件开头添加 UTF-8 BOM(字节顺序标记)可以通知 Excel 该文件是 UTF-8 编码的。在系统之间交换 CSV 文件时,始终验证字符编码。
当 CSV 数据在 Excel 中显示异常时,两个最常见的原因是编码不匹配和分隔符不匹配。Excel 假定本地编码打开 UTF-8 文件会显示乱码字符,添加 BOM 通常可以解决这个问题。分隔符问题出现在欧洲地区,Excel 期望分号而不是逗号。使用"数据 > 从文本"导入向导而不是双击文件可以明确控制编码和分隔符设置。
根据 RFC 4180,包含逗号、换行符或双引号的任何字段必须用双引号括起来。引号字段中的双引号通过加倍来转义。大多数 CSV 库能正确处理这一点,但当文件被手工编辑或使用简单字符串拆分而不是正规 CSV 解析器解析时就会出现问题。TSV(制表符分隔值)避免了大多数引号问题,因为制表符很少出现在数据中,使其成为生物信息学、数据科学以及字段值经常包含逗号的场景中的热门选择。
CSV 和 JSON 服务于不同的数据交换需求。CSV 适用于具有一致列的扁平表格数据——它被电子表格和数据工具普遍支持,对于大数据集仍然紧凑。JSON 更适合嵌套或层次化数据,是 API 的标准格式。对于数据库导出、报表和电子表格工作流,CSV 仍然是实用的默认选择。