TypeError: string indices must be integers
I need a way to get all the device data at one time in python. Here is what I am using so far'
for k in dictData.items():
print(dictData['devices'][0]['device_id'][k]) #TypeError: string indices must be integers
print(dictData['devices'][1]['alias'][k])
I also tried this
print(dictData['devices'][1]['alias'][0:5])
No go.
Thanks in advance and apologies for the earlier confusion!
Best Answer
-
for key, value in dictData.items():
for idx, x in enumerate(value):
print("Remote Control is {} for item {}".format(x["remotecontrol_id"], idx))
print("Device ID is {} for item {}".format(x["device_id"], idx))
print("Alias is {} for item {}".format(x["alias"], idx))
print("GroupId is {} for item {}".format(x["groupid"], idx))
print("OnLine state is {} for item {}".format(x["online_state"], idx))Regards
Domenico Langone
6
Answers
-
for key, value in dictData.items():
for idx, x in enumerate(value):
print("Remote Control is {} for item {}".format(x["remotecontrol_id"], idx))
print("Device ID is {} for item {}".format(x["device_id"], idx))
print("Alias is {} for item {}".format(x["alias"], idx))
print("GroupId is {} for item {}".format(x["groupid"], idx))
print("OnLine state is {} for item {}".format(x["online_state"], idx))Regards
Domenico Langone
6 -
Thanks!! That does it
0 -
TypeError: means that you are trying to perform an operation on a value whose type is not compatible with that operation. If you are accessing items from a dictionary , make sure that you are accessing the dictionary itself and not a key in the dictionary. TypeError: string indices must be integers has been caused because you are trying to access values from dictionary using string indices instead of integer.
0