Python:从 JSON 中抓取 ID

问题描述 投票:0回答:2

这个问题有点问,但它让我一整天都头疼(因为我对编程相当陌生)。

基本上我有大量的 ID 列表(名为 pk),我需要获取所有这些 ID,因为它们被其他文本包围。

我该如何检索所有 ID?顺便说一句,每个 ID 都是这样的:

"pk":12345678
"pk":123456789

ID 是 8 或 9 位数字。

非常感谢大家,任何帮助将不胜感激!

编者注:Asker 确实在这个答案的评论中发布了他的完整 json 数据

python json list filter extract
2个回答
0
投票
ids = [var["pk"]]

其中 var 是 JSON 的变量

如果你再澄清一下你的 JSON,我也许可以使它更精确。


0
投票

我只使用JSONPath。提取所有

ids
的一种简单但极其通用的方法是:

>>> from jsonpath import jsonpath
>>> from json import loads
>>> instagram_pop = open("instagram_popular_list.json"), "r").read()
>>> instagram_data = loads(instagram_pop)
>>> jsonpath(instagram_data, '$..id')[:3]
[u'234148392791340801_11305924', u'234098919041318605_2364270', u'234153616185741448_1907035']

当然,由于你的数据是扁平的,你可以直接循环,例如:

[item['id'] for item in instagram_data['items']]

但我有一种感觉,你有更多的结构解析要做,所以我认为 jsonpath 是一个更灵活的答案。

© www.soinside.com 2019 - 2024. All rights reserved.