一、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}