我该如何使用ijson
我想从一个非常大的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"]