CSV

5 tools

ToolDeck 的免费在线 CSV 工具让您可以直接在浏览器中解析、转换和处理 CSV 数据——无需上传文件,无需注册账号。将 CSV 转换为 JSON 以获得 API 就绪的结构化数组,将 JSON 转换为 CSV 以导出电子表格,将 CSV 转换为 Markdown 以生成文档表格,将 CSV 转换为 HTML 以嵌入表格标记,以及将 CSV 转换为 SQL 以生成数据库 INSERT 语句。所有解析器均遵循 RFC 4180:带引号的字段、嵌入的逗号和混合分隔符均可正确处理。

CSV 转 JSON 转换器JSON 转 CSV 转换器处理最常见的双向转换。CSV 格式化工具可在您将数据传递给其他工具之前清理分隔符和引号问题,CSV 转 SQL可生成适用于任何受支持数据库引擎的 INSERT 语句和 CREATE TABLE 模式——所有处理均在浏览器中完成,无需上传文件,无需注册账号。

什么是 CSV 工具?

CSV(逗号分隔值)是最古老、应用最广泛的数据交换格式之一。它以纯文本形式存储表格数据:每行是一条记录,记录中的字段由分隔符分隔(通常是逗号,也可以是制表符、分号或竖线)。RFC 4180 定义了正式语法,包括对包含分隔符、换行符或双引号字符的字段进行引用的规则。

尽管结构简单,原始 CSV 在现代开发中使用起来颇为不便。Web API 期望接收 JSON。前端框架绑定到对象和数组,而非行和列。MongoDB、Elasticsearch 等文档数据库原生处理 JSON。即使是关系型数据库,在批量导入前也往往需要借助 JSON 中间步骤来验证列类型并捕获字段错位问题。CSV 工具通过将扁平表格数据转换为代码可直接使用的结构化格式,弥合了这一差距。

当您需要处理电子表格导出、数据库转储、政府开放数据门户、Google Analytics 或 Mixpanel 等分析平台,以及任何输出分隔文本的 ETL 管道时,都需要 CSV 工具。与其编写一次性解析脚本,基于浏览器的转换器能即时提供结果,并正确处理带引号的字段、嵌入换行符和混合分隔符等边界情况。当您收到客户的一次性导出、需要在编写迁移脚本前验证列映射,或想在不搭建本地环境的情况下快速检查供应商数据时,浏览器转换器比任何脚本方案都更快。

为什么在 ToolDeck 上使用 CSV 工具?

ToolDeck 的 CSV 工具完全使用 JavaScript 在浏览器中解析数据。文件不会离开您的设备,后端不会处理您的输入,也没有速率限制。每个工具均适用于任何现代浏览器——无需扩展、无需插件、无需配置。结果是快速、私密的 CSV 处理,可在任何支持浏览器的环境中运行。

🔒
默认保护隐私
所有解析和转换均在您的浏览器标签页中完成。您的 CSV 数据(可能包含客户记录、财务数据或内部指标)永远不会接触远程服务器。
📐
符合 RFC 4180 规范
解析器遵循 CSV 的 RFC 4180 规范。带引号的字段、嵌入的逗号、转义的双引号以及 CRLF 行尾均可正确处理。
🔍
自动检测分隔符
粘贴以逗号、制表符、分号或竖线分隔的数据。工具会自动识别分隔符,也可针对边界情况手动设置。
无需安装,无需注册
打开页面粘贴数据即可使用。无需安装 CLI,无需向项目添加包,无需创建账号。结果在毫秒内就绪。

CSV 工具使用场景

CSV 转换贯穿软件开发的每个阶段——API 原型开发、数据库填充、ETL 管道调试。以下六个具体场景展示了基于浏览器的转换器相比编写一次性脚本如何节省时间。

API 原型开发
将电子表格导出转换为 JSON 数组,用作模拟 API 响应数据。前端团队可以在后端就绪之前开始构建组件。
数据库填充
将 CSV 数据转储转换为 JSON 固件,用于填充开发数据库。Prisma、Sequelize 和 TypeORM 等 ORM 均接受 JSON 种子文件。
数据管道调试
当 ETL 步骤输出意外的 CSV 时,将其转换为 JSON 进行检查。JSON 的键值结构更便于发现缺失字段或列错位问题。
QA 测试矩阵
基于电子表格的测试用例可转换为 JSON 数组,用于 Jest、pytest 或 Playwright 参数化测试的数据驱动测试。
分析导出处理
Google Analytics、Mixpanel 和 Amplitude 以 CSV 格式导出数据。转换为 JSON 后,可使用 JavaScript 图表库对数据进行过滤、聚合和可视化。
开放数据探索
政府门户和 Kaggle 数据集通常以 CSV 格式发布。转换为 JSON 后,可直接将数据加载到前端仪表板或 Notebook 中。

CSV 分隔符参考

CSV 文件使用不同的分隔符,取决于创建软件和用户的地区设置。下表列出了四种标准分隔符、其常见来源以及您可能遇到它们的场景。

分隔符字符常见来源说明
逗号,Excel(美国/英国)、Google Sheets、大多数编程库RFC 4180 默认分隔符。当数据包含逗号时需要引号处理。
制表符\t数据库导出、Excel(另存为 .txt)、从电子表格复制粘贴通常称为 TSV(制表符分隔值)。很少出现在字段值中,因此通常无需引号处理。
分号;Excel(欧洲地区:DE、FR、IT、ES)、LibreOffice Calc用于以逗号作为小数分隔符的地区(1.234,56)。当解析器假设使用逗号时,这是常见的解析失败来源。
竖线|大型机导出、银行/金融数据馈送、HL7 医疗记录在数据值中同时出现逗号和分号时使用。在 Web 开发中较少见,但在企业数据交换中是标准做法。

CSV 与 JSON:结构对比

CSV 和 JSON 以不同方式表示数据。理解这些差异有助于解释为何转换并非总是无损的,以及为何某些决策(类型推断、标题映射、null 值处理)至关重要。

特性CSVJSON
数据模型扁平表格(行和列)树形结构(嵌套对象和数组)
类型系统无(所有值均为字符串)字符串、数字、布尔值、null、对象、数组
嵌套不支持任意深度
模式隐式(按 RFC 4180,标题行可选)自描述(键内联)
注释无标准化(部分工具使用 #)不支持(ECMA-404)
文件大小紧凑(每行不重复键名)较大(每个对象重复所有键名)
流式处理逐行(天然适合流式处理)逐行需使用 NDJSON 或 JSON Streaming

对于列结构统一的表格数据,CSV 空间效率更高,因为每行不重复键名。对于字段可变、包含嵌套结构或有类型值的数据,JSON 是更好的选择。从 CSV 转换为 JSON 时,输出文件会更大,因为每个对象都会重复所有标题名称作为属性键。

如何选择合适的 CSV 工具

根据数据转换方向选择对应工具。每个工具均在浏览器中处理数据,自动检测分隔符,处理 RFC 4180 带引号字段,并支持立即复制或下载结果——无需安装。

  1. 1
    如果您需要 将 CSV 文件或剪贴板数据转换为 JSON 对象数组CSV 转 JSON 转换器
  2. 2
    如果您需要 将 JSON 数组转换为 CSV 格式,用于电子表格导入或数据导出JSON 转 CSV 转换器
  3. 3
    如果您需要 生成用于文档、README 或 Wiki 页面的 Markdown 表格CSV 转 Markdown
  4. 4
    如果您需要 生成包含 thead 和 tbody 元素的 HTML 表格,可直接嵌入网页CSV 转 HTML 表格
  5. 5
    如果您需要 规范化分隔符、去除空白字符或标准化 CSV 文件中的引号CSV 格式化工具
  6. 6
    如果您需要 从 CSV 文件生成 INSERT 语句或 CREATE TABLE 模式CSV 转 SQL

上述每个工具均可自动检测分隔符,处理 RFC 4180 引号规则,并支持将结果下载为文件。如果您的源 CSV 存在分隔符不一致、多余空白字符或引号不匹配等问题,请先通过 CSV 格式化工具处理——在转换前清理输入可防止输出格式错误,节省后续调试时间。如果您的工作流涉及将 JSON 和 YAML 作为中间格式相互转换,请同时查看 YAML 工具类别。如需验证或格式化 JSON 输出,JSON 格式化工具和 JSON 验证工具一键即达。

常见问题

什么是 RFC 4180,它对 CSV 解析为何重要?
RFC 4180 是 CSV 格式的正式规范,由 IETF 发布。它定义了字段引用规则(对包含逗号、换行符或引号的字段使用双引号)、行终止符(CRLF)和标题行的规则。遵循 RFC 4180 的解析器能正确处理边界情况。不遵循该规范的解析器可能会悄悄拆分带引号的字段或丢弃嵌入的换行符。
如何在 JavaScript 中不使用库将 CSV 转换为 JSON?
按换行符拆分文本,提取第一行作为标题,然后将后续每行映射为以标题为键的对象。在生产环境中,这种简单方法在遇到包含逗号或换行符的带引号字段时会出错。请使用 Papa Parse 等库,或使用 ToolDeck 的 CSV 转 JSON 转换器,它能正确处理 RFC 4180 边界情况。
CSV 文件可以包含嵌套数据吗?
不可以。CSV 是扁平格式,原生不支持嵌套。存在一些变通方案:点标记法标题(address.city)、JSON 编码的单元格值,或多个关联的 CSV 文件。如果您的数据具有嵌套结构,JSON、YAML 或 XML 是更好的格式选择。
为什么 Excel 导出的 CSV 使用分号而非逗号?
在欧洲地区,逗号是小数分隔符(1.234,56),因此 Excel 改用分号作为 CSV 分隔符——这是代码假设使用逗号分隔时常见的解析错误来源。具体分隔符由「区域选项」中的 Windows 列表分隔符设置控制,当小数分隔符为逗号时默认为分号。这意味着从法语地区 Excel 和美国地区 Excel 导出的文件可能使用不同的分隔符,尽管共享相同的 .csv 扩展名。在解析任何来源未知的 CSV 文件之前,请务必检查或自动检测分隔符。
CSV 文件的列数有上限吗?
RFC 4180 未定义列数限制。实际限制取决于使用的应用程序。Excel 支持 16,384 列(2^14)。Python、JavaScript 和 Go 中的大多数 CSV 解析器没有内置列数限制。基于浏览器的工具受可用内存限制,通常允许数千列而不会出现问题。
CSV 和 TSV 有什么区别?
TSV(制表符分隔值)使用制表符作为字段分隔符而非逗号。TSV 文件的扩展名为 .tsv。由于制表符很少出现在数据值中,TSV 文件比 CSV 需要更少的引号处理。数据库工具、生物信息学软件以及从电子表格复制粘贴操作通常会生成 TSV。
如何处理行长度不一致的 CSV 文件?
行长度不一致(参差 CSV)通常表明源数据中存在未转义的分隔符或缺少引号。大多数解析器通过用空值填充短行,并将长行截断以匹配标题数量来处理这种情况。如果参差情况一致,请检查文件是否使用了与预期不同的分隔符,或者每行是否有尾随分隔符。例如,使用分号导出的文件被逗号解析器读取时,每行将产生一个单列行——每条记录看起来只有一个字段而非预期的六个或更多。先通过 CSV 格式化工具处理即可立即发现这种不匹配。
将 CSV 转换为 JSON 是否保留数据类型?
CSV 没有类型系统。所有值均为字符串。转换为 JSON 时,除非转换器明确推断类型,否则值将保持为字符串。部分转换器会检测数字字符串并输出 JSON 数字,但这可能导致数据丢失(如邮政编码或电话号码中的前导零)。ToolDeck 转换器默认将值保留为字符串,以避免此问题。