我该如何使用ijson

2 投票
2 回答
10062 浏览
提问于 2025-04-17 23:25

我想从一个非常大的json文件中提取abstractText(摘要文本)。我使用了Python的一个库叫做ijson,但我找不到正确的方法来提取我想要的内容。
这个json文件的结构是:

{'articles'=[{"abstractText":"文本..", "journal":"期刊..", "meshMajor":["mesh1",...,"meshN"], "pmid":"PMID", "title":"标题..", "year":"年份YYYY"},..., {..}]

你能帮我吗?
提前谢谢你!

2 个回答

2

在编程中,有时候我们需要处理一些数据,比如从一个地方获取数据,然后对这些数据进行一些操作。这个过程可能会涉及到很多步骤,比如读取文件、处理数据、然后再把结果输出到另一个地方。

在这个过程中,我们可能会用到一些工具和库,这些工具可以帮助我们更方便地完成任务。比如,有些库可以让我们更简单地读取文件,或者更快速地处理数据。

总之,编程就像做一道菜,我们需要准备好材料,按照步骤进行,最后才能做出美味的成果。

with open('file_name.json', 'rb') as input_file:
    parser = ijson.parse(input_file)
    for parent, data_type, value in parser:
        print('parent={}, data_type={}, value={}'.format(parent, data_type, value))
5

这段内容不是有效的JSON格式。单引号的'articles'应该改成双引号"articles",而且在"articles"后面应该用:,而不是=。如果假设它是正确的,你应该使用:

json["articles"][0]["abstractText"]

补充:这是一个关于ijson库的完整示例:

import ijson
f = open('json.txt')
objects = ijson.items(f, 'articles.item')
for obj in objects:
    print obj["abstractText"]

撰写回答