s1s1ty/py-jsonq

How to access nested dictionaries?

Opened this issue · 3 comments

aiqc commented

I have a file of records structured like so:

[
    {
        "case_id": 1,
        "demographic": {
            "race": "white",
            "age": 55,
        }
    },
    {
        "case_id": 2,
        "demographic": {
            "race": "white",
            "age": 65,
        }
    },
    {
        "case_id": 3,
        "demographic": {
            "race": "black",
            "age": 57,
        }
    }
]

I can access case id fine

q.where('case_id', '=', 1).get()

But I can't seem to use at to drill into the demographic key

q.at('demographic')

"KeyError: 'Key not exists'"
aiqc commented

Related/duplicate: #2

aiqc commented

This works:

q.at('0.demographic').get()

But I can't figure out how to make it do at('all.demographic')

I have just run into this same issue. Has anyone found a workaround yet? @s1s1ty if you have some time could you look into this?