这个问题有点问,但一整天都让我头疼(因为我对编程还很陌生)。
基本上我有大量的 ID(命名为 pk),我需要获取所有这些 ID,因为它们被其他文本包围。
我将如何检索所有 ID?顺便说一下,每个 ID 看起来像这样:
"pk":12345678
"pk":123456789
ID 是 8 位或 9 位数字。
非常感谢大家,任何帮助将不胜感激!
编者注:Asker 确实在对此答案的评论中发布了他的完整 json 数据。
ids = [var["pk"]]
其中 var 是 JSON 的变量
如果你再澄清一下你的 JSON,我可能会更精确。
我只是使用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 是一个更灵活的答案。