一、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()) # 现在可以使用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}
复制