在Python中,如何在JSON文件中搜索标记值对[已关闭]

lkaoscv7  于 2023-01-08  发布在  Python
关注(0)|答案(2)|浏览(122)

已关闭。此问题需要details or clarity。当前不接受答案。
**想要改进此问题?**添加详细信息并通过editing this post阐明问题。

4小时前关门了。
Improve this question
我正在处理一个包含很多布尔值的大json文件,所以我不能只搜索值,如果一个值为真,我怎么提取整个用户信息呢?
例如,json文件中有许多行可以读作如下内容:

[
    12,
    {
        "name": "Big Bird",
        "muting": false,
        "following": true,
        "blocked_by": false,
        "followers_count": 42
    }
]

如何迭代文件以查找所有可以将静音设置为true的用户?
我的代码是import json

with open("tempList") as f:
    data = json.load(f)
    for key in data:
        if key['muting'] == "false":
            print("YES")
        else:
            print("$*%#!@")
58wvjzkj

58wvjzkj1#

由于user的某些值似乎是整数,因此我们可以显式地检查user的类型以避免问题;同样,如果密钥不存在,使用.get访问dict将避免KeyError

users_with_muting = []
with open("tempList") as f:
    data = json.load(f)
    for user in data:
        if type(user) == dict and user.get("muting") == True:
            users_with_muting.append(user)
pdsfdshx

pdsfdshx2#

对于第一个问题
如果有一个值为真,我如何提取整个用户信息?

def get_user_with_true(json_file: str):
    users_with_true = []
    with open(json_file, 'r') as f:
        json_str = f.read()
        json_data = json.loads(json_str)
        for u in json_data:
            if True in u.values():
                users_with_true.append(u)
    return users_with_true

相关问题