You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python中简便地将JSONL文件加载为JSON对象?

如何在Python中简便加载JSONL文件为JSON对象?

当然有啦!JSONL(每行一个独立JSON对象的格式)在处理批量数据时特别常见,Python里有好几种简单省心的实现方式,我给你整理了最常用的两种:

方法1:用Python内置json模块(零额外依赖)

因为JSONL的核心就是每行一个可独立解析的JSON串,所以我们可以直接逐行读取文件,用标准库的json.loads()解析每一行就行。

基础版(一次性加载到列表)

import json

def load_jsonl(file_path):
    json_objects = []
    with open(file_path, 'r', encoding='utf-8') as f:
        for line in f:
            # 可选:跳过空行,避免解析空字符串报错
            if line.strip():
                json_obj = json.loads(line)
                json_objects.append(json_obj)
    return json_objects

# 使用示例
data_list = load_jsonl('your_data.jsonl')
# 现在data_list就是包含所有JSON对象的字典列表了

内存友好版(生成器模式)

如果你的JSONL文件特别大(比如几GB),一次性加载会占满内存,改成生成器版本就可以边读边处理:

import json

def load_jsonl_generator(file_path):
    with open(file_path, 'r', encoding='utf-8') as f:
        for line in f:
            if line.strip():
                yield json.loads(line)

# 使用示例:遍历生成器处理每个对象
for item in load_jsonl_generator('large_data.jsonl'):
    # 这里写你的处理逻辑,比如打印、存储等
    print(item["key"])

方法2:用pandas一键加载(适合数据分析场景)

如果你本来就在做数据分析,用pandas的read_json()方法一行就能搞定,指定lines=True参数告诉它按JSONL格式解析。加载后会得到一个DataFrame,也能轻松转成字典列表。

import pandas as pd

# 加载为DataFrame
df = pd.read_json('your_data.jsonl', lines=True)
# 转成JSON对象列表(字典形式)
data_list = df.to_dict('records')

注意:这个方法需要先安装pandas,执行pip install pandas就行,适合后续要做数据清洗、分析的场景,效率很高。

小技巧:容错处理

如果你的JSONL文件里可能存在格式错误的行,可以加个try-except块跳过错误行,避免整个加载流程崩溃:

import json

def load_jsonl_safe(file_path):
    json_objects = []
    with open(file_path, 'r', encoding='utf-8') as f:
        for line_num, line in enumerate(f, 1):
            line = line.strip()
            if not line:
                continue
            try:
                json_obj = json.loads(line)
                json_objects.append(json_obj)
            except json.JSONDecodeError as e:
                print(f"第{line_num}行解析失败: {str(e)},已跳过该行")
    return json_objects

内容的提问来源于stack exchange,提问作者MBT

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 09:32:24