Print the first in a Python "subdict" -


i running script (python2.7) collects data husqvarna automower store bit of information in variable printout, seems information in subdict (dont know if thats correct term)

if run in scriptpp.pprint(mow.status())

i this

{   u'batterypercent': 99, u'cachedsettingsuuid': u'59a88728-804a-47b6-824c-d2b093bd980e', u'connected': false, u'lasterrorcode': 0, u'lasterrorcodetimestamp': 0, u'lastlocations': [   {   u'gpsstatus': u'using_gps_map',                           u'latitude': 57.57352,                           u'longitude': 12.047441666666666},                       {   u'gpsstatus': u'using_gps_map',                           u'latitude': 57.573521666666664,                           u'longitude': 12.047431666666666},                       {   u'gpsstatus': u'using_gps_map',                           u'latitude': 57.573535,                           u'longitude': 12.047445},                       {   u'gpsstatus': u'using_gps_map',                           u'latitude': 57.57356333333333,                           u'longitude': 12.047563333333333},                       {   u'gpsstatus': u'using_gps_map',                           u'latitude': 57.573573333333336,                           u'longitude': 12.047613333333333},                       {   u'gpsstatus': u'using_gps_map',                           u'latitude': 57.57349,                           u'longitude': 12.047508333333333},                       {   u'gpsstatus': u'using_gps_map',                           u'latitude': 57.573485,                           u'longitude': 12.047495},                       {   u'gpsstatus': u'using_gps_map',                           u'latitude': 57.57347166666667,                           u'longitude': 12.047833333333333},                       {   u'gpsstatus': u'using_gps_map',                           u'latitude': 57.57348833333333,                           u'longitude': 12.047818333333334},                       {   u'gpsstatus': u'using_gps_map',                           u'latitude': 57.573526666666666,                           u'longitude': 12.047773333333334},                       {   u'gpsstatus': u'using_gps_map',                           u'latitude': 57.573526666666666,                           u'longitude': 12.047771666666666},                       {   u'gpsstatus': u'using_gps_map',                           u'latitude': 57.57357666666667,                           u'longitude': 12.047841666666667},                       {   u'gpsstatus': u'using_gps_map',                           u'latitude': 57.57354333333333,                           u'longitude': 12.047875},                       {   u'gpsstatus': u'using_gps_map',                           u'latitude': 57.57358333333333,                           u'longitude': 12.047835},                       {   u'gpsstatus': u'using_gps_map',                           u'latitude': 57.57357666666667,                           u'longitude': 12.047818333333334},                       {   u'gpsstatus': u'using_gps_map',                           u'latitude': 57.573635,                           u'longitude': 12.047693333333333},                       {   u'gpsstatus': u'using_gps_map',                           u'latitude': 57.57364666666667,                           u'longitude': 12.04762},                       {   u'gpsstatus': u'using_gps_map',                           u'latitude': 57.57359,                           u'longitude': 12.04724},                       {   u'gpsstatus': u'using_gps_map',                           u'latitude': 57.57359,                           u'longitude': 12.047235},                       {   u'gpsstatus': u'using_gps_map',                           u'latitude': 57.57350666666667,                           u'longitude': 12.047486666666666},                       {   u'gpsstatus': u'using_gps_map',                           u'latitude': 57.5735,                           u'longitude': 12.047553333333333},                       {   u'gpsstatus': u'using_gps_map',                           u'latitude': 57.57351666666667,                           u'longitude': 12.047533333333334},                       {   u'gpsstatus': u'using_gps_map',                           u'latitude': 57.57351666666667,                           u'longitude': 12.04756},                       {   u'gpsstatus': u'using_gps_map',                           u'latitude': 57.57353333333333,                           u'longitude': 12.047541666666667},                       {   u'gpsstatus': u'using_gps_map',                           u'latitude': 57.57353,                           u'longitude': 12.047571666666666},                       {   u'gpsstatus': u'using_gps_map',                           u'latitude': 57.57346,                           u'longitude': 12.047595},                       {   u'gpsstatus': u'using_gps_map',                           u'latitude': 57.57346,                           u'longitude': 12.04761},                       {   u'gpsstatus': u'using_gps_map',                           u'latitude': 57.573431666666664,                           u'longitude': 12.04773},                       {   u'gpsstatus': u'using_gps_map',                           u'latitude': 57.573435,                           u'longitude': 12.047711666666666},                       {   u'gpsstatus': u'using_gps_map',                           u'latitude': 57.57346833333333,                           u'longitude': 12.047578333333334},                       {   u'gpsstatus': u'using_gps_map',                           u'latitude': 57.573495,                           u'longitude': 12.047641666666667},                       {   u'gpsstatus': u'using_gps_map',                           u'latitude': 57.57349333333333,                           u'longitude': 12.04764},                       {   u'gpsstatus': u'using_gps_map',                           u'latitude': 57.57347333333333,                           u'longitude': 12.047643333333333},                       {   u'gpsstatus': u'using_gps_map',                           u'latitude': 57.57346833333333,                           u'longitude': 12.04771},                       {   u'gpsstatus': u'using_gps_map',                           u'latitude': 57.573478333333334,                           u'longitude': 12.047773333333334},                       {   u'gpsstatus': u'using_gps_map',                           u'latitude': 57.57325,                           u'longitude': 12.047635},                       {   u'gpsstatus': u'using_gps_map',                           u'latitude': 57.57324833333333,                           u'longitude': 12.047635},                       {   u'gpsstatus': u'using_gps_map',                           u'latitude': 57.57324166666667,                           u'longitude': 12.047633333333334},                       {   u'gpsstatus': u'using_gps_map',                           u'latitude': 57.57324166666667,                           u'longitude': 12.047631666666666},                       {   u'gpsstatus': u'using_gps_map',                           u'latitude': 57.573285,                           u'longitude': 12.047618333333334},                       {   u'gpsstatus': u'using_gps_map',                           u'latitude': 57.573301666666666,                           u'longitude': 12.047596666666667},                       {   u'gpsstatus': u'using_gps_map',                           u'latitude': 57.573303333333335,                           u'longitude': 12.047595},                       {   u'gpsstatus': u'using_gps_map',                           u'latitude': 57.57331166666667,                           u'longitude': 12.047561666666667},                       {   u'gpsstatus': u'using_gps_map',                           u'latitude': 57.573315,                           u'longitude': 12.047555},                       {   u'gpsstatus': u'using_gps_map',                           u'latitude': 57.57331666666666,                           u'longitude': 12.047555},                       {   u'gpsstatus': u'using_gps_map',                           u'latitude': 57.57333833333333,                           u'longitude': 12.047551666666667},                       {   u'gpsstatus': u'using_gps_map',                           u'latitude': 57.57342166666667,                           u'longitude': 12.047566666666667},                       {   u'gpsstatus': u'using_gps_map',                           u'latitude': 57.573365,                           u'longitude': 12.047553333333333},                       {   u'gpsstatus': u'using_gps_map',                           u'latitude': 57.573366666666665,                           u'longitude': 12.047553333333333},                       {   u'gpsstatus': u'using_gps_map',                           u'latitude': 57.573346666666666,                           u'longitude': 12.047558333333333}], u'mowerstatus': u'off_disabled', u'nextstartsource': u'week_timer', u'nextstarttimestamp': 1491782400, u'operatingmode': u'auto', u'showasdisconnected': false, u'storedtimestamp': 1491435026887l, u'valuefound': true} 

i can example batterypercent using

        dic_info = mow.status()          battery = dic_info.get('batterypercent')          print battery 

but how longitude , latitude in similary way, need first one?

thanx martin

you have access lastlocations, contains list of dicts. when there, access element in position [0] , use ['latitude'] or ['longitude'] specific values.

d = dict(mow.status())  >>> print(d['lastlocations'][0]) {'latitude': 57.57352, 'gpsstatus': 'using_gps_map', 'longitude': 12.047441666666666}  >>> print(d['lastlocations'][0]['latitude']) 57.57352  >>> print(d['lastlocations'][0]['longitude']) 12.047441666666666 

you can change index @ print(d['lastlocations'][0] [1] or [2] access second , third element of list, example.

  • {u'gpsstatus': u'using_gps_map', u'latitude': 57.573521666666664, u'longitude': 12.047431666666666}
  • {u'gpsstatus': u'using_gps_map', u'latitude': 57.573535, u'longitude': 12.047445}

p.s.: can use print(len(d['lastlocations'])) number of elements inside lastlocations list.

>>> print(len(d['lastlocations'])) 50 

so know can't use index bigger 49, or in other words, 50 - 1.


Comments

Popular posts from this blog

inversion of control - Autofac named registration constructor injection -

verilog - Systemverilog dynamic casting issues -

ios - Change Storyboard View using Seague -