CSV⇔JSON Lines(JSONL)互转
在CSV文件与JSON Lines(JSONL,每行一个JSON对象的格式)之间相互转换。可选择分隔符,字段不一致的行也会自动合并处理。转换完全在浏览器内完成,不会发送到服务器。
CSV行与JSONL行的对应关系
| CSV表头行+数据行 | name,age,cityAlice,30,Tokyo |
|---|---|
| 转换后的JSONL(每行一个对象) | {"name": "Alice", "age": "30", "city": "Tokyo"} |
以表头行的列名作为键,CSV的每一数据行都会变成一个JSON对象,并作为JSONL的一行输出。反方向(JSONL→CSV)转换时,所有行中出现过的键的并集会成为表头行,缺少某个键的行在对应列中留空。
什么是 CSV⇔JSON Lines 互转
CSV⇔JSON Lines 互转是指将表格形式的 CSV 数据,与每行一个 JSON 对象的 JSON Lines(JSONL)格式相互转换。本工具使用符合 RFC 4180 标准的解析器读取 CSV,因此即使是引号内包含逗号或换行符的复杂 CSV 也能正确解析。
本工具支持双向转换:CSV→JSONL 时以表头行的列名作为键,JSONL→CSV 时则以所有行中出现过的键的并集作为表头行。即使各行的键数量不同,也能自动对齐列,因此既适合整理机器学习数据集,也适合整理日志文件。
CSV⇔JSON Lines 互转的使用方法
- 选择转换方向 通过标签页选择「CSV → JSONL」还是「JSONL → CSV」。
- 输入数据 在文本框中粘贴要转换的 CSV 或 JSON Lines。手头没有数据时,可点击「加载示例」查看示例。
- 选择分隔符 选择 CSV 一侧使用逗号还是制表符分隔。处理 TSV 文件时请选择制表符。
- 查看转换结果 转换结果会随输入自动显示,行数会显示在「行数」栏中。
- 复制结果 点击「复制」按钮将转换结果复制到剪贴板,粘贴到其他工具或系统中使用。
用好本工具的小技巧
- 进行JSONL→CSV转换时,各行的键的数量或顺序不一致也没关系,工具会自动汇总所有行出现过的键的并集作为表头,并对齐各列。
- 表头中的空白或重复列会自动替换为 col{列号} 或 名称_2 这样的键名,避免数值丢失或被覆盖。
- 数值、布尔值或嵌套的对象/数组,在CSV单元格中都会以文本形式写出,因此转换结果可以直接在Excel等软件中打开。
- 与姊妹工具「CSV→JSON转换」「JSONL⇔JSON数组转换」搭配使用,可以在CSV、JSON数组、JSONL这三种格式之间自由切换。
- CSV部分采用符合RFC 4180标准的解析器,能正确处理引号内的逗号与换行符,因此Excel等软件导出的复杂CSV也能正确转换。
CSV⇔JSON Lines 互转的使用场景
准备机器学习数据集
将电子表格中整理好的训练数据转换为 JSONL,可直接用作微调数据集。
在电子表格中查看日志文件
将以 JSONL 格式导出的应用日志转换为 CSV,即可在 Excel 或电子表格软件中打开进行筛选和汇总。
合并键数量不一致的数据
即使各行字段数量不同的 JSONL 数据,转换为 CSV 时也会自动对齐列,无需手动整理。
准备写入接口或数据库的数据
将 CSV 数据转换为 JSONL,可以直接输入到逐行读取的写入流程中。
术语表
- CSV
- Comma-Separated Values 的缩写,是一种用逗号分隔数值来表示表格数据的纯文本格式。
- JSON Lines(JSONL)
- 一种每行记录一个 JSON 对象的格式。由于可以按行独立读写,适合对海量数据进行流式处理。
- RFC 4180
- CSV 文件的一般格式规范,规定了双引号括起的单元格内逗号、换行符、引号的处理方式。
- 键的并集
- 把多行中出现过的所有键(列名)无遗漏地汇总起来的集合。JSONL→CSV 转换时,这个并集会成为表头行。
- 流式处理
- 不是一次性将全部数据读入内存,而是按记录(按行)依次处理的方式。JSON Lines 是与这种处理方式相性很好的格式。
常见问题
闲话 ― JSON Lines为何成为机器学习与日志处理的“通用语言”
推动JSON Lines(JSONL)普及的一大原因,是机器学习数据集的分发方式。大语言模型的微调数据往往由数百万条“输入与输出”配对组成,如果将它们打包成一个JSON数组,就必须等整个文件加载并解析完毕后才能读取任何一条记录。JSONL将每一行视为一条独立完整的记录,从而可以对海量数据集进行流式、增量式处理。
日志处理领域也因类似原因广泛采用JSONL。Elasticsearch、Logstash等日志采集平台的设计理念是逐条摄取应用产生的事件,而“每行都是独立结构”的格式,天然比“整体是单一结构”的JSON数组更契合这种追加写入、逐行解析的模式。
与此同时,CSV在团队间数据交接、电子表格查阅等场景中依然根深蒂固。本工具通过直接打通这两种性质迥异的格式,让你可以一步将CSV数据接入机器学习流水线,或将JSONL日志文件在Excel中打开查看。