2017-07-21 5 views
0

J'essaye de retourner les valeurs des codes postaux dans un rayon de 10 milles d'un autre code postal. Je retourne les valeurs correctes en utilisant ZipcodeSearchEngine et je pensais qu'il retournait un dictionnaire, mais comment faire, je juste imprimer les valeurs "Zipocde" en res. Sur un Mac, en utilisant anaconda avec Python 3.6. S'il vous plaît laissez-moi savoir si vous avez des questions. Code et renvoyer les valeurs ci-dessous.Python 3.6 uszipcode Imprimer ZipCodes dans un rayon

from uszipcode import ZipcodeSearchEngine 
search = ZipcodeSearchEngine() 
area = search.by_zipcode("10001") 
Lat = area['Latitude'] 
Long = area['Longitude'] 
print('This is the Longitude:'+ ' ' + str(Long)) 
print('This is the Latitude:'+ ' ' + str(Lat)) 

res = search.by_coordinate(Lat, Long, radius=10, returns=5) 
print(res) 
inp = input("Select key to print value for!") 
if inp in res: 
    print(res[inp]) 


[{"City": "New York", "Density": 34035.48387096774, "HouseOfUnits": 12476, 
"LandArea": 0.62, "Latitude": 40.75368539999999, "Longitude": -73.9991637, 
"NEBoundLatitude": 40.8282129, "NEBoundLongitude": -73.59, "Population": 
21102, "SWBoundLatitude": 40.743451, "SWBoungLongitude": -74.00794499999998, 
"State": "NY", "TotalWages": 1031960117.0, "WaterArea": 0.0, "Wealthy": 
48903.42702113544, "Zipcode": "10001", "ZipcodeType": "Standard"}, {"City": 
"New York", "Density": 300.0, "HouseOfUnits": 1, "LandArea": 0.03, 
"Latitude": 40.751776899999996, "Longitude": -73.9965928, "NEBoundLatitude": 
40.752722799999994, "NEBoundLongitude": -73.993948, "Population": 9, 
"SWBoundLatitude": 40.749553000000006, "SWBoungLongitude": -74.0084871, 
"State": "NY", "TotalWages": null, "WaterArea": 0.0, "Wealthy": null, 
"Zipcode": "10199", "ZipcodeType": "Standard"}, {"City": "New York", 
"Density": 16340.625, "HouseOfUnits": 4425, "LandArea": 0.32, "Latitude": 
40.755322, "Longitude": -73.9932872, "NEBoundLatitude": 40.7648468, 
"NEBoundLongitude": -73.98088800000001, "Population": 5229, "SWBoundLatitude": 
40.749724, "SWBoungLongitude": -74.0124001, "State": "NY", "TotalWages": 
810026753.0, "WaterArea": 0.0, "Wealthy": 154910.45190284948, "Zipcode": 
"10018", "ZipcodeType": "Standard"}, {"City": "New York", "Density": 4600.0, 
"HouseOfUnits": 0, "LandArea": 0.02, "Latitude": 40.7502013, "Longitude": 
-73.9931036, "NEBoundLatitude": 40.75219, "NEBoundLongitude": -73.990623, 
"Population": 92, "SWBoundLatitude": 40.74910089999999, "SWBoungLongitude": 
-73.994844, "State": "NY", "TotalWages": null, "WaterArea": 0.0, "Wealthy": 
null, "Zipcode": "10119", "ZipcodeType": "Standard"}, {"City": "New 
York","Density": 56161.36363636363, "HouseOfUnits": 17958, "LandArea": 0.44, 
"Latitude": 40.7602619, "Longitude": -73.9932872, "NEBoundLatitude": 
40.768738, "NEBoundLongitude": -73.9781161, "Population": 24711, 
"SWBoundLatitude": 40.723624900000004, "SWBoungLongitude": -74.004786, 
"State": "NY", "TotalWages":1686575064.0, "WaterArea": 0.0, "Wealthy": 
68251.99562947675, "Zipcode": "10036","ZipcodeType": "Standard"}] 
+4

Attendez, quelle est la question? – Cubic

+0

Comment imprimer tous les indicatifs régionaux de la liste? – Eric

Répondre

0

Comme noté par Cubic, la question n'est pas claire. Cependant, je suppose que vous voulez imprimer le code postal au lieu de tous les détails sur la ville. Vous supposez que search.by_coordinate(Lat, Long, radius=10, returns=5) est faux. Il retourne une liste. Vous pouvez toujours vérifier le type de la variable en python en utilisant type(res). Je suppose également que les utilisateurs sont supposés sélectionner un nombre comme entrée. Lorsque vous obtenez res[inp] vous obtenez un élément de l'entrée, qui est un dictionnaire. Vous pouvez utiliser la clé pour obtenir le code postal de cet élément. Modifiez votre code comme suit,

if inp in res: 
    print(res[inp]['Zipcode']) 
+0

Merci, cela a fonctionné. J'apprécie vraiment cela. – Eric