有哪些简单方法可将CSV文件转换为JSONL格式?
CSV转JSONL 实现方案
6000条数据量很小,以下两种方案都可以快速完成转换,不需要复杂配置:
方案1:Python原生实现(无额外依赖)
直接用Python自带的csv和json库实现,不需要安装任何第三方包,适配性最高:
import csv import json # 替换为你的实际文件路径 INPUT_CSV = "data.csv" OUTPUT_JSONL = "output.jsonl" with open(INPUT_CSV, "r", encoding="utf-8") as f_csv, open(OUTPUT_JSONL, "w", encoding="utf-8") as f_jsonl: reader = csv.DictReader(f_csv) for row in reader: # 按需调整字段类型,比如数值字段手动转int/float,空值转None对应JSON null # row["id"] = int(row["id"]) # row["price"] = float(row["price"]) if row["price"] else None json.dump(row, f_jsonl, ensure_ascii=False) f_jsonl.write("\n")
直接运行即可,6000条数据执行耗时不到1秒。如果CSV使用非逗号分隔符,给csv.DictReader加delimiter="分隔符"参数即可。
方案2:命令行一键转换
如果你已经安装了csvkit工具集,直接执行单行命令即可完成转换:
csvjson --stream data.csv > output.jsonl
未安装csvkit的话,先执行pip install csvkit完成安装即可使用。
常见问题适配
- 空值处理:默认转换会把CSV空单元格转为空字符串,需要转为JSON null的话,在遍历行时把空值替换为
None即可,json.dump会自动识别转换。 - 编码适配:如果你的CSV是GBK/GB2312编码,把open函数的
encoding参数改为对应的编码名称即可。
内容的提问来源于stack exchange,提问作者Adrian
相关产品推荐
相关产品推荐

