logo
down
shadow

Cleaner way to unpack nested dictionaries


Cleaner way to unpack nested dictionaries

Content Index :

Cleaner way to unpack nested dictionaries
Tag : python , By : wraith
Date : November 25 2020, 03:01 PM

I wish this help you I am receiving data in batches from an API in JSON format. I wish to store only the values, in a list. , You could use a recursive function and some type tests:
data = [{'a':1, 'b':{'c':2, 'd':3}, 'e':4}, {'f':5,'g':6}]

def extract_nested_values(it):
    if isinstance(it, list):
        for sub_it in it:
            yield from extract_nested_values(sub_it)
    elif isinstance(it, dict):
        for value in it.values():
            yield from extract_nested_values(value)
    else:
        yield it

print(list(extract_nested_values(data)))
# [1, 2, 3, 4, 5, 6]

Comments
No Comments Right Now !

Boards Message :
You Must Login Or Sign Up to Add Your Comments .

Share : facebook icon twitter icon

How to write super long dictionaries cleaner in function arguments?


Tag : python , By : Andrew L.
Date : March 29 2020, 07:55 AM
To fix the issue you can do I'd just use the same trick used for mutable default values. This gives you more room to write something more readable.
@arg('-v', '--version')
def generate(kind, version=None):
    if version is None:
        d = config.data['default']['template']
        version = config.template[d]['default']['version']   
    return ['RETURN.', kind, version]
# Choose whatever refactoring looks good to you
default_template = config.data['default']['template']
default_version = config.template[default_template]['default']['version']

@arg('-v', '--version')
def generate(kind, version=default_version):
    return ['RETURN.', kind, version]

del default_template default_version  # Optional

Given three nested dictionaries, sort the top two nested dictionaries from a value in the innermost dictionary?


Tag : python-2.7 , By : desmiserables
Date : March 29 2020, 07:55 AM
I wish this helpful for you I am trying to sort both the outermost dictionary and the "middle" dictionary by the value of "Cal" (highest first) in the innermost dictionary. I would like to accomplish this using an OrderedDict. , this should work:
from collections import OrderedDict

od = OrderedDict()
for food, dct in sorted(foods.items(),
                        key=lambda x: max(int(y['Cal']) for y in x[1].values()),
                        reverse=True):
    od[food] = OrderedDict()
    subod = od[food]
    for subkey, subdct in sorted(dct.items(), key=lambda x: int(x[1]['Cal']),
                                 reverse=True):
        subod[subkey] = subdct
# from pprint import pprint
# pprint(od)

OrderedDict([('Cheesecake',
              OrderedDict([('ExtraSweet', {'Cal': '18000', 'Taste': '16'}),
                           ('Sweet', {'Cal': '12000', 'Taste': '17'})])),
             ('IceCream',
              OrderedDict([('Chocolate', {'Cal': '2000', 'Taste': '9'}),
                           ('Vanilla', {'Cal': '1000', 'Taste': '11'})])),
             ('Pizza',
              OrderedDict([('Pesto', {'Cal': '200', 'Taste': '9'}),
                           ('Cheese', {'Cal': '100', 'Taste': '11'})])),
             ('Apple',
              OrderedDict([('Green', {'Cal': '20', 'Taste': '6'}),
                           ('Red', {'Cal': '1', 'Taste': '4'})]))])

Unpack a list of nested dictionaries and convert to CSV


Tag : python , By : Gabriel
Date : March 29 2020, 07:55 AM
around this issue I am trying to write to CSV a JSON that produces a list of nested dictionnaries as follows: ,
Or perhaps there is another way to achieve my expected result?
import pandas as pd

data = [{'spam': 'xxxx',
  'egg': 'yyyy',
  'line_items': [{'description': 'hhh',
                  'amount': 'iii'},
                 {'description': 'jjj',
                  'amount': 'kkk'}],
  'bacon': 'zzzz'}]

df = pd.io.json.json_normalize(data, record_path=['line_items'],
                                meta=['spam', 'egg','bacon'])
df

  amount description   egg  spam bacon
0    iii         hhh  yyyy  xxxx  zzzz
1    kkk         jjj  yyyy  xxxx  zzzz
df.to_csv('out.csv')

How to unpack complicated nested column (list of dictionaries of dictionaries) in Python? [Twitter Ads API]


Tag : python , By : Tetting
Date : March 29 2020, 07:55 AM
it helps some times You should be able to pass the dictionary directly to the dataframe constructor:
foo = pd.DataFrame(df['id_data'][0]['metrics'])
foo.iloc[:3, :4]

    app_clicks  card_engagements    carousel_swipes clicks
0   6           6                   None            18
1   28          28                  None            33
2   13          13                  None            32

Is there a cleaner way to print this list of dictionaries?


Tag : python , By : ikey
Date : March 29 2020, 07:55 AM
Related Posts Related QUESTIONS :
  • What is the reason for matplotlib for printing labels multiple times?
  • Why would people use ThreadPoolExecutor instead of direct function call?
  • When clear_widgets is called, it doesnt remove screens in ScreenManager
  • Python can't import function
  • Pieces doesn't stack after one loop on my connect4
  • How to change font size of all .docx document with python-docx
  • How to store a word with # in .cfg file
  • How to append dictionaries to a dictionary?
  • How can I scrape text within paragraph tag with some other tags then within the paragraph text?
  • Custom entity ruler with SpaCy did not return a match
  • Logging with two handlers - one to file and one to stderr
  • How to do pivot_table in dask with aggfunc 'min'?
  • This for loop displays only the last entry of the student record
  • How to split a string by a specific pattern in number of characters?
  • Python 3: how to scrape research results from a website using CSFR?
  • Setting the scoring parameter of RandomizedSeachCV to r2
  • How to send alert or message from view.py to template?
  • How to add qml ScatterSeries to existing qml defined ChartView?
  • Django + tox: Apps aren't loaded yet
  • My css and images arent showing in django
  • Probability mass function sum 2 dice roll?
  • Cannot call ubuntu 'ulimit' from python subprocess without using shell option
  • Dataframe Timestamp Filter for new/repeating value
  • Problem with clicking select2 dropdownlist in selenium
  • pandas dataframe masks to write values into new column
  • How to click on item in navigation bar on top of page using selenium python?
  • Add multiple EntityRuler with spaCy (ValueError: 'entity_ruler' already exists in pipeline)
  • error when replacing missing ')' using negative look ahead regex in python
  • Is there a way to remove specific strings from indexes using a for loop?
  • select multiple tags by position in beautifulSoup
  • pytest: getting AttributeError: 'CaptureFixture' object has no attribute 'readouterror' capturing stdout
  • Shipping PyGObject/GTK+ app on Windows with MingW
  • Python script to deduplicate lines in multiple files
  • How to prevent window and widgets in a pyqt5 application from changing size when the visibility of one widget is altered
  • How to draw stacked bar plot from df.groupby('feature')['label'].value_counts()
  • Python subprocess doesn't work without sleep
  • How can I adjust 'the time' in python with module Re
  • Join original np array with resulting np array in a form of dictionary? multidimensional array? etc?
  • Forcing labels on histograms in each individual graph in a figure
  • For an infinite dataset, is the data used in each epoch the same?
  • Is there a more efficent way to extend a string?
  • How to calculate each single element of a numpy array based on conditions
  • How do I change the width of Jupyter notebook's cell's left part?
  • Measure distance between lat/lon coordinates and utm coordinates
  • Installing megam for NLTK on Windows
  • filter dataframe on each value of a samn column have a specific value of another column in Panda\Python
  • Threading with pubsub throwing AssertionError: 'callableObj is not callable' in wxPython
  • Get grouped data from 2 dataframes with condition
  • How can I import all of sklearns regressors
  • How to take all elements except the first k
  • Whats wrong with my iteration list of lists from csv
  • Tensorflow Estimator API save image summary in eval mode
  • How to Pack with PyQt - how to make QFrame/Layout adapt to content
  • How do I get certain Time Range in Python
  • python doubly linked list - insertAfter node
  • Open .h5 file in Python
  • Joining a directory name with a binary file name
  • python, sort list with two arguments in compare function
  • Is it possible to print from Python using non-ANSI colors?
  • Pandas concat historical data using date minus some number of days
  • shadow
    Privacy Policy - Terms - Contact Us © scrbit.com