Skip to content

nested-lookup

209 2 - Public Domain
0.2.25 (6 Jul 2022) Feb 09 2022 375.4 thousand (month)

nested-lookup is a convenient way to parse multi-depth JSON documents which are often encountered in web scraping. Using nested-lookup we can easily extract deeply nested data-field just by providing key value.

The library provides a number of functions for searching and extracting data from nested dictionaries, including:

  • nested_lookup: search for a key within a nested dictionary and returns the associated value.
  • nested_update: update a key-value pair within a nested dictionary.
  • nested_has: check if a key exists within a nested dictionary.
  • nested_values: returns all the values within a nested dictionary, including values within nested dictionaries.

The library is designed to be flexible and can work with dictionaries of any size and structure, making it a useful tool for working with complex and nested data structures.

Example Use


```python from nested_lookup import nested_lookup

my_document = { "name" : "Rocko Ballestrini", "email_address" : "test1@example.com", "other" : { "secondary_email" : "test2@example.com", "EMAIL_RECOVERY" : "test3@example.com", "email_address" : "test4@example.com", }, }

retrieving all keys can be useful in dataset overview

from nested_lookup import get_all_keys get_all_keys(my_document) ['name', 'email_address', 'other', 'secondary_email', 'EMAIL_RECOVERY', 'email_address']

key/value stats can also be useful for data overview:

from nested_lookup import get_occurrence_of_key, get_occurrence_of_value, get_occurrences_and_values data = {"products": [{"category": "t-shirt"},{"category": "underwear"},{"category": "t-shirt"}]}

get_occurrence_of_key(data, key='category') 3 get_occurrence_of_value(data, value='t-shirt') 2 get_occurrences_and_values([data], "t-shirt") # count t-shirt products { 't-shirt': { 'occurrences': 2, 'values': [{'category': 't-shirt'}, {'category': 't-shirt'}] } }

it can also be used to delete/alter values:

from nested_lookup import nested_alter data = {"products": [{"price": 10}, {"price": 14}]}

nested_alter(data, "price", lambda price: price * 1.4) {'products': [{'price': 14.0}, {'price': 19.599999999999998}]}

nested_delete(data, "price") {'products': [{}, {}]} ```

Alternatives / Similar


2,424 1.1.0 (2026-01-22 16:35:24 ago) Feb 09 2022 compare
728 1.8.0 (2026-02-28 00:53:19 ago) Feb 09 2022 compare
2,383 0.2.17 (2025-02-24 20:44:42 ago) May 19 2011 compare

Other Languages

403 2.0.0 (2025-03-03 23:10:00 ago) Dec 03 2013 compare
182 20.0.4 (2025-12-10 19:58:29 ago) Jun 10 2018 compare
276 v1.3.7 (2026-03-30 06:38:20 ago) Oct 15 2019 compare
mxj
633 per (2023-07-24 15:10:09 ago) Feb 09 2017 compare
1,773 4.0.0 (2021-03-24 12:37:03 ago) Apr 18 2015 compare
Was this page helpful?