一、jsonl 文件格式

jsonl 文件格式是 JSON Lines 的缩写,它是一种文本格式,用于存储结构化数据,类似于 JSON。

在 .jsonl 文件中,每一行包含一个完整的 JSON 对象,这些对象之间通过新行(换行符)分隔。这种格式非常适合处理大量的数据记录,因为它允许逐行读取和写入,而不需要一次性加载整个文件到内存中。

数据在 .jsonl 文件中将会是:

{"name": "Alice", "age": 30}
{"name": "Bob", "age": 25}

而相同的 JSON 文件可能看起来像这样:

[
  {"name": "Alice", "age": 30},
  {"name": "Bob", "age": 25}
]

.jsonl每一行都是一个独立的 JSON 对象,可以单独解析。这种格式特别适合日志数据、大型数据集、流数据处理以及需要增量加载或存储的场景。

二、.jsonl文件读取

import json

# 打开.jsonl文件
with open('data.jsonl', 'r') as file:
    # 逐行读取
    for line in file:
        # 解析每行的JSON内容
        data = json.loads(line.strip())
        ### 字符串中有中文时,ensure_ascii=False。open()的encoding参数需要传
        ##data = json.loads(line.strip(),ensure_ascii=False) #
        # 现在可以使用data字典了
        print(data)

二、.jsonl文件保存

要将数据保存为 .jsonl 格式的文件,你需要确保每条数据都是一个有效的 JSON 对象,并且将每个对象转换为 JSON 字符串后逐行写入文件。以下是使用 Python 将数据保存为 .jsonl 文件的示例代码:

import json

# 假设你有一个包含多个字典的列表
data_list = [
    {"name": "Alice", "age": 30},
    {"name": "Bob", "age": 25}
]

# 打开文件准备写入
with open('data.jsonl', 'w') as file:
    # 遍历数据列表
    for data in data_list:
        # 将字典转换为JSON字符串
        json_str = json.dumps(data)
        # 写入文件,并添加换行符
        file.write(json_str + '\n')

在这段代码中:

  • 使用 json.dumps() 函数将字典转换为 JSON 格式的字符串。
  • 将 JSON 字符串写入文件,并在每个 JSON字符串后面添加一个换行符 \n 以确保每个 JSON 对象占据一行。
  • 使用 with语句来打开文件,这样可以保证文件在写入操作完成后正确关闭。
  • 这样写入后,data.jsonl 文件的内容将会是:
{"name": "Alice", "age": 30}
{"name": "Bob", "age": 25}
GitHub 加速计划 / js / json
41.72 K
6.61 K
下载
适用于现代 C++ 的 JSON。
最近提交(Master分支:1 个月前 )
960b763e 4 个月前
8c391e04 7 个月前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐