📅  最后修改于: 2023-12-03 15:08:45.596000             🧑  作者: Mango
NDJSON(newline delimited JSON)是一种按行分隔的 JSON 数据格式,它的每一行都是一条独立的 JSON 数据记录。
在 Python 中,我们可以使用 json
模块和 ndjson
模块来处理 NDJSON 数据文件。
import json
with open('data.ndjson', 'r') as f:
for line in f:
data = json.loads(line)
# 对数据进行处理
上面的代码使用 json
模块逐行解析 NDJSON 文件,每次解析一行数据并将其转换为 Python 对象。我们可以在 for
循环中对解析后的数据进行处理。
需要注意的是,如果 NDJSON 文件中包含了多个 JSON 数据对象,使用 json.loads()
只能解析第一条,后面的数据会报错。因此,使用 json
模块处理 NDJSON 数据时,适用于每行只有一个 JSON 数据记录的情况。
import ndjson
with open('data.ndjson', 'r') as f:
data = ndjson.load(f)
# 对数据进行处理
如果你的 NDJSON 文件中每行包含多个 JSON 数据对象,可以使用 ndjson
模块来解析文件。与 json
模块不同,ndjson
模块可以一次性解析整个文件,将每行的 JSON 数据对象转换为一个 Python 对象列表。
上面的代码使用 ndjson.load()
方法读取 NDJSON 文件,返回一个 Python 对象列表,我们可以对这个列表中的对象进行遍历和处理。
需要安装 ndjson
模块才能使用,可以使用 pip 安装:
pip install ndjson
以上就是在 Python 中打开 NDJSON 文件的两种方法。如果你的 NDJSON 文件中每行只包含一个 JSON 数据对象,使用 json
模块即可;如果每行包含多个 JSON 数据对象,建议使用 ndjson
模块。