【发布时间】:2015-09-12 13:57:36
【问题描述】:
我有一个 json,它可以在一个列表中包含多达 10 个嵌套字典。这 10 个嵌套字典都与一个服务请求号相关联,但每个字典的请求不同。例如,地址 1 的服务请求 1 可能包含 [Containers] 列表,并且在此容器列表中 {key1:value1, key2, value2, key3:value3} 等等,最多 10 次。
如何根据字典中出现的数字成功地将这些值附加到一个字段,即 value1 = containercolor1、value2 = containercolor2、value3 = containercolor3? 请参阅下面的示例,这个相同的示例适用于我正在使用的以下 json 中的多个字段。
例如,我基本上想访问每个列表中的每个键/值对
for k_container in k_container_number_1:
print k_container[0]
打印:
`R 9 G 0 7 8 7 7 8 6 8 7 5 R 9 乙 0 7 8 7 7 8 6 7 5 5 R 6 乙 1 2 3 4 8 7 8 7 6 7
r 9 b 0 5 3 0 2 2`
我怎样才能解决这个问题,使我的角色不循环或水平?
JSON 示例:
{
"Response": {
"LastPage": "false",
"NumOutputObjects": "1",
"ListOfServiceRequest": {
"ServiceRequest": [
{
"AddressVerified": "Y",
"SRNumber": "1-20229961",
"ListOfLa311Containers": {
"La311Containers": [
{
"ContainerNumber": "R9G0665765765",
"ContainerType": "Green Yard Trimmings",
"DamageonLid": "N",
"DamageonAxle": "N",
"DamageonBody": "N",
"DamageonWheels": "Y",
"DeliveryReason": "",
"DriverFirstName": "",
"DriverLastName": "",
"ExchangeDetails": "",
"GatedCommunityMultifamilyDwelling": "",
"MobileHomeSpace": "",
"PickupReason": "",
"RequestFor": "Damage",
"ServiceDateRendered": "",
"TruckNo": "",
"Type": "Containers",
"CollectionLocation": "Curb",
"ContainerSize": "90 Gallon (Large) Green",
"LastUpdatedBy": "370758",
"ActiveStatus": "Y",
"PurposeofSR": "",
"DamageonHandleEndcap": "N",
"ContactFirstName": "Shawnae",
"ContactLastName": "Muck",
"Name": "062520151201141851"
},
{
"ContainerNumber": "R9R0877765456",
"ContainerType": "Blue Recycling",
"DamageonLid": "Y",
"DamageonAxle": "N",
"DamageonBody": "Y",
"DamageonWheels": "N",
"DeliveryReason": "",
"DriverFirstName": "",
"DriverLastName": "",
"ExchangeDetails": "",
"GatedCommunityMultifamilyDwelling": "",
"MobileHomeSpace": "",
"PickupReason": "",
"RequestFor": "Damage",
"ServiceDateRendered": "",
"TruckNo": "",
"Type": "Containers",
"CollectionLocation": "Curb",
"ContainerSize": "90 Gallon (Large) Blue",
"LastUpdatedBy": "370758",
"ActiveStatus": "Y",
"PurposeofSR": "",
"DamageonHandleEndcap": "N",
"ContactFirstName": "Shawnae",
"ContactLastName": "Muck",
"Name": "062520151201141852"
},
{
"ContainerNumber": "R9B0746754645",
"ContainerType": "Black Refuse",
"DamageonLid": "N",
"DamageonAxle": "N",
"DamageonBody": "N",
"DamageonWheels": "N",
"DeliveryReason": "",
"DriverFirstName": "",
"DriverLastName": "",
"ExchangeDetails": "",
"GatedCommunityMultifamilyDwelling": "",
"MobileHomeSpace": "",
"PickupReason": "",
"RequestFor": "Damage",
"ServiceDateRendered": "",
"TruckNo": "",
"Type": "Containers",
"CollectionLocation": "Curb",
"ContainerSize": "90 Gallon (Large) Black",
"LastUpdatedBy": "370758",
"ActiveStatus": "Y",
"PurposeofSR": "",
"DamageonHandleEndcap": "Y",
"ContactFirstName": "Shawnae",
"ContactLastName": "Muck",
"Name": "062520151201141853"
}
]
}
}
]
}
}
}
要附加到 NumPy 数组的当前代码:
Containerdt = np.dtype([('Address', 'U128'),
('Y_CoordShape', '<f8'),
('X_CoordShape', '<f8'),
('Y_COR', '<f8'),
('X_COR', '<f8'),
('ReasonCode','U128'),
('NUMBERCYLA', 'U128'),
('SRNumber', 'U128'),
('Name', 'U128'),
('RESOLUTION_CODE','U128'),
('HOME_PHONE', 'U40'),
('CreatedDate', 'U128'),
('UpdatedDate', 'U128'),
# ('ItemDesc', 'U128'),
('SCHED_DATE', 'U128'),
(ContainerNumber01, 'U128'),
(ContainerNumber02, 'U128'),
(ContainerNumber03, 'U128'),
])
containerItems.append((ContainerAddress,
container_x,
container_y,
container_x,
container_y,
Container_ReasonCode,
Container_SRNumber,
Container_SRNumber,
Container_FullName,
Container_ResolutionCode,
Container_HomePhone,
Container_CreatedDate,
Container_UpdatedDate,
# "ItemDesc",
date_object,
"R9G0665765765", #FROM 1st Dictionary under ['ListofLa311Containers']['La311Containers']
"R9R0877765456", #FROM 2nd Dictionary under ['ListofLa311Containers']['La311Containers']
"R9B0746754645", #FROM 3RD Dictionary under ['ListofLa311Containers']['La311Containers']
))
【问题讨论】:
标签: python arrays json numpy dictionary