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)转换时,所有行中出现过的键的并集会成为表头行,缺少某个键的行在对应列中留空。
使用提示
- 进行JSONL→CSV转换时,各行的键的数量或顺序不一致也没关系,工具会自动汇总所有行出现过的键的并集作为表头,并对齐各列。
- 表头中的空白或重复列会自动替换为 col{列号} 或 名称_2 这样的键名,避免数值丢失或被覆盖。
- 数值、布尔值或嵌套的对象/数组,在CSV单元格中都会以文本形式写出,因此转换结果可以直接在Excel等软件中打开。
- 与姊妹工具「CSV→JSON转换」「JSONL⇔JSON数组转换」搭配使用,可以在CSV、JSON数组、JSONL这三种格式之间自由切换。
- CSV部分采用符合RFC 4180标准的解析器,能正确处理引号内的逗号与换行符,因此Excel等软件导出的复杂CSV也能正确转换。
常见问题
CSV适合用电子表格软件打开查看和汇总数据,而JSON Lines可以逐行进行流式解析,因此常用于机器学习数据集和日志采集工具。本工具可以帮助你在两种格式之间快速转换,无需手动处理。
除表头行以外的每一数据行,都对应JSONL的一行(即一个JSON对象),表头行的列名会成为该JSON对象的键。
可以。进行JSONL→CSV转换时,工具会收集所有行中出现过的全部键,合并为一个表头行;缺少某个键的行,对应列会输出为空。
支持。只需将“分隔符”选择为“制表符”,两个转换方向都可以直接处理制表符分隔的数据。
不会。所有转换处理都在浏览器内通过JavaScript完成,输入的内容不会被发送到任何服务器。
闲话 ― JSON Lines为何成为机器学习与日志处理的“通用语言”
推动JSON Lines(JSONL)普及的一大原因,是机器学习数据集的分发方式。大语言模型的微调数据往往由数百万条“输入与输出”配对组成,如果将它们打包成一个JSON数组,就必须等整个文件加载并解析完毕后才能读取任何一条记录。JSONL将每一行视为一条独立完整的记录,从而可以对海量数据集进行流式、增量式处理。
日志处理领域也因类似原因广泛采用JSONL。Elasticsearch、Logstash等日志采集平台的设计理念是逐条摄取应用产生的事件,而“每行都是独立结构”的格式,天然比“整体是单一结构”的JSON数组更契合这种追加写入、逐行解析的模式。
与此同时,CSV在团队间数据交接、电子表格查阅等场景中依然根深蒂固。本工具通过直接打通这两种性质迥异的格式,让你可以一步将CSV数据接入机器学习流水线,或将JSONL日志文件在Excel中打开查看。