Create dataset from webapi

Hello,

I want to make a dataset from an webapi. I am using this script:

from urlib import  urlopen
import json

url= ("http://xxxxxxx")
Results = system.net.httpGet(url)
dictResults = system.util.jsonDecode(results)

Print(dictResults) 

This is the result:


{u'productionLine': {u'dbInstance': 'EU', u'queryDateTime': '2020-11-30T14:03:04.0445086+01:00', u'mouldDesignRevision': None, u'mouldDesignNumber': '13310', u'start': '2020-11-25T07:30:00+01:00', u'lineID': x , u'lineName': 'x',

u'siteName': 'Dongen', u'containerNumber': '31003310', u'containerName': 'x', u'siteID': 6, u'end': None},

 u'moulds': [{u'section': 1, u'cavity': 1, u'position': '1A', u'mouldNumber': 57}, {u'section': 1, u'cavity': 2, u'position': '1B', u'mouldNumber': 45}, {u'section': 1, u'cavity': 3, u'position': '1C', u'mouldNumber': 8}, {u'section': 2, u'cavity': 1, u'position': '2A', u'mouldNumber': 18}, {u'section': 2, u'cavity': 2, u'position': '2B', u'mouldNumber': 37}, {u'section': 2, u'cavity': 3, u'position': '2C', u'mouldNumber': 24}, {u'section': 3, u'cavity': 1, u'position': '3A', u'mouldNumber': 15}, {u'section': 3, u'cavity': 2, u'position': '3B', u'mouldNumber': 7}, {u'section': 3, u'cavity': 3, u'position': '3C', u'mouldNumber': 20}, {u'section': 4, u'cavity': 1, u'position': '4A', u'mouldNumber': 44}, {u'section': 4, u'cavity': 2, u'position': '4B', u'mouldNumber': 5}, {u'section': 4, u'cavity': 3, u'position': '4C', u'mouldNumber': 41}, {u'section': 5, u'cavity': 1, u'position': '5A', u'mouldNumber': 26}, {u'section': 5, u'cavity': 2, u'position': '5B', u'mouldNumber': 27}, {u'section': 5, u'cavity': 3, u'position': '5C', u'mouldNumber': 29}, {u'section': 6, u'cavity': 1, u'position': '6A', u'mouldNumber': 6}, {u'section': 6, u'cavity': 2, u'position': '6B', u'mouldNumber': 30}, {u'section': 6, u'cavity': 3, u'position': '6C', u'mouldNumber': 12}, {u'section': 7, u'cavity': 1, u'position': '7A', u'mouldNumber': 34}, {u'section': 7, u'cavity': 2, u'position': '7B', u'mouldNumber': 4}, {u'section': 7, u'cavity': 3, u'position': '7C', u'mouldNumber': 54}, {u'section': 8, u'cavity': 1, u'position': '8A', u'mouldNumber': 21}, {u'section': 8, u'cavity': 2, u'position': '8B', u'mouldNumber': 16}, {u'section': 8, u'cavity': 3, u'position': '8C', u'mouldNumber': 35}, {u'section': 9, u'cavity': 1, u'position': '9A', u'mouldNumber': 19}, {u'section': 9, u'cavity': 2, u'position': '9B', u'mouldNumber': 46}, {u'section': 9, u'cavity': 3, u'position': '9C', u'mouldNumber': 13}, {u'section': 10, u'cavity': 1, u'position': '10A', u'mouldNumber': 25}, {u'section': 10, u'cavity': 2, u'position': '10B', u'mouldNumber': 22}, {u'section': 10, u'cavity': 3, u'position': '10C', u'mouldNumber': 2}, {u'section': 11, u'cavity': 1, u'position': '11A', u'mouldNumber': 33}, {u'section': 11, u'cavity': 2, u'position': '11B', u'mouldNumber': 3}, {u'section': 11, u'cavity': 3, u'position': '11C', u'mouldNumber': 36}, {u'section': 12, u'cavity': 1, u'position': '12A', u'mouldNumber': 39}, {u'section': 12, u'cavity': 2, u'position': '12B', u'mouldNumber': 50}, {u'section': 12, u'cavity': 3, u'position': '12C', u'mouldNumber': 55}]}

I want to read from every cavity the mould number. For example the first cavity is 1A = 57 then 1B = 45

thanks

Something like this should work:

moulds = dictResults['moulds']
headings = ['position', 'mould number']
datasetData = [[x['position'], x['mouldNumber']] for x in moulds]

# The headings argument is optional.
dataset = system.dataset.toDataSet(headings, datasetData)
print dataset

edit: fixed a silly mistake

Thank you it worked!

1 Like