API Help

Andre Müller gbs.deadeye at gmail.com
Wed Jun 14 18:10:31 EDT 2017


Am 14.06.2017 um 22:33 schrieb Bradley Cooper:
> I am working with an API and I get a return response in this format.
>
>  
> [{"itemNumber":"75-5044","inventory":[{"warehouseCode":"UT-1-US","quantityAvailable":0.0000000000000},{"warehouseCode":"KY-1-US","quantityAvailable":0.0000000000000},{"warehouseCode":"TX-1-US","quantityAvailable":14.0000000000000},{"warehouseCode":"CA-1-US","quantityAvailable":4.0000000000000},{"warehouseCode":"AB-1-CA","quantityAvailable":1.0000000000000},{"warehouseCode":"WA-1-US","quantityAvailable":0.0000000000000},{"warehouseCode":"PO-1-CA","quantityAvailable":0.0000000000000}]}]
>
> What is the best way to read through the data?
>

Your data looks like Json.
First use the _json_ module to convert the _string_ into a _Python data
structure_.
Then you can iterate over it. My example is a nested loop. Maybe
you've more than one element inside the list.


import json

# the string looks like json
JSON_DATA = """[
    {"itemNumber":"75-5044","inventory": [
        {"warehouseCode":"UT-1-US","quantityAvailable":0.0000000000000},
        {"warehouseCode":"KY-1-US","quantityAvailable":0.0000000000000},
        {"warehouseCode":"TX-1-US","quantityAvailable":14.0000000000000},
        {"warehouseCode":"CA-1-US","quantityAvailable":4.0000000000000},
        {"warehouseCode":"AB-1-CA","quantityAvailable":1.0000000000000},
        {"warehouseCode":"WA-1-US","quantityAvailable":0.0000000000000},
        {"warehouseCode":"PO-1-CA","quantityAvailable":0.0000000000000}
            ]
        }
    ]"""


# converting the json string to a Python data structure
inventory = json.loads(JSON_DATA)

# representation in Python
#[{'inventory': [{'quantityAvailable': 0.0, 'warehouseCode': 'UT-1-US'},
   #{'quantityAvailable': 0.0, 'warehouseCode': 'KY-1-US'},
   #{'quantityAvailable': 14.0, 'warehouseCode': 'TX-1-US'},
   #{'quantityAvailable': 4.0, 'warehouseCode': 'CA-1-US'},
   #{'quantityAvailable': 1.0, 'warehouseCode': 'AB-1-CA'},
   #{'quantityAvailable': 0.0, 'warehouseCode': 'WA-1-US'},
   #{'quantityAvailable': 0.0, 'warehouseCode': 'PO-1-CA'}],
  #'itemNumber': '75-5044'}]


# the interesting part
for items in inventory:
    # get the elements in from the list
    # the elements are dicts, in this case exactly one dict
    print('itemNumber:', i['itemNumber'])
    # nested loop iterating over the values of the key 'inventory'
    for item in items['inventory']:
        # the value is dict
        code, qty = item['warehouseCode'],item['quantityAvailable']
        print('warehouseCode:', code, 'quantityAvailable', qty)


# Output
#itemNumber: 75-5044
#warehouseCode: UT-1-US quantityAvailable 0.0
#warehouseCode: KY-1-US quantityAvailable 0.0
#warehouseCode: TX-1-US quantityAvailable 14.0
#warehouseCode: CA-1-US quantityAvailable 4.0
#warehouseCode: AB-1-CA quantityAvailable 1.0
#warehouseCode: WA-1-US quantityAvailable 0.0
#warehouseCode: PO-1-CA quantityAvailable 0.0


Greetings
Andre
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 866 bytes
Desc: OpenPGP digital signature
URL: <http://mail.python.org/pipermail/python-list/attachments/20170615/76e61757/attachment.sig>


More information about the Python-list mailing list