2017-07-21 5 views
0

私は別の郵便番号の半径10マイル以内で郵便番号の値を返そうとしています。私はZipcodeSearchEngineを使って正しい値を返しています。私はそれが辞書を返すと思っていましたが、resの "Zipocde"値を単に印刷するだけです。 Macでは、anacondaをPython 3.6で使用しています。ご不明な点がございましたらお知らせください。以下のコードと戻り値Python 3.6 uszipcode半径内のZipコードを印刷

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

お待ちください。 – Cubic

+0

リストにある市外局番をすべて印刷するにはどうしたらいいですか? – Eric

答えて

0

Cubicが指摘したように、質問は不明です。しかし、都市に関するすべての詳細ではなく、郵便番号を印刷すると仮定します。 search.by_coordinate(Lat, Long, radius=10, returns=5)が間違っていると仮定します。リストを返します。 type(res)を使用して、Pythonで変数の型をいつでもチェックすることができます。私はまた、ユーザーが入力として数字を選択すると仮定します。 res[inp]を取得すると、入力の1つの要素(辞書)が取得されます。この要素から郵便番号を取得するには、キーを使用します。コードを次のように変更してください。

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

ありがとう、これは働いた。ほんとうにありがとう。 – Eric