繁体   English   中英

提取字典文件的一部分

[英]Extract a part of a dictionnary file

在说我没有搜索答案之前,我搜索了,即使我不是 Python 专家,我也没有找到任何明确的答案。 为了我清楚,我想从特定的“氏族”中提取 2 个信息(“名称”和“名望”)。 在提取的 json 文件中,信息在 [items] 上,然后在 [0] 和12以及 [3] 和 [4] 中。 在这个关于[积分榜]的词典中。 然后,我的问题出现在下一个字典中,它可以是 [0] 或12或 [3] 或 [4]。 我不知道如何过滤,例如使用“带标签的过滤器 = #9VL9L9Y”之类的东西。 这是我的代码:

    data = json.loads(response)

    for item in data ["items"]:
        for p in item ["standings"]:
                for q in p ["clan"]["participants"]:
                    if (p["clan"] = '#9VL9L9YQ'):
                        print("%s %s" % (
                            q["name"],
                            q["fame"],

))

我知道我的台词 "if (p["clan"] = '#9VL9L9YQ'):" 不正确,但这就是我想要做的。

JSON 文件如下所示:

在此处输入图片说明

在此处输入图片说明

谢谢你的帮助 !

稍微重新排序逻辑:

data = json.loads(response)

for item in data ["items"]:
    for p in item ["standings"]:
        clan = p["clan"]
        # check tag first:
        if clan["tag"] == '#9VL9L9YQ': # remove extraneous )
            for q in clan["participants"]:
                print("%s %s" % (q["name"], ["fame"]))

您的代码中存在语法错误,只需更正即可:

代替:

if (p["clan"] = '#9VL9L9YQ'):

和:

if (p["clan"] == '#9VL9L9YQ'):

注意:您的语法几乎是正确的,您只是有一个小而常见的错误,忘记使用双“=”进行比较。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM