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 仍然是实用的默认选择。

← 返回所有工具