1

我正在尝试从谷歌地理编码访问返回的数据,这些数据是深度嵌套的字典。我想从例如'long_name': '80331'和访问值'long_name': 'Germany'

的价值

geocode_result

[{'address_components': [{'long_name': '1',
                          'short_name': '1',
                          'types': ['street_number']},
                         {'long_name': 'Rosenstraße',
                          'short_name': 'Rosenstraße',
                          'types': ['route']},
                         {'long_name': 'Altstadt-Lehel',
                          'short_name': 'Altstadt-Lehel',
                          'types': ['political',
                                    'sublocality',
                                    'sublocality_level_1']},
                         {'long_name': 'München',
                          'short_name': 'München',
                          'types': ['locality', 'political']},
                         {'long_name': 'Oberbayern',
                          'short_name': 'Oberbayern',
                          'types': ['administrative_area_level_2',
                                    'political']},
                         {'long_name': 'Bayern',
                          'short_name': 'BY',
                          'types': ['administrative_area_level_1',
                                    'political']},
                         {'long_name': 'Germany',
                          'short_name': 'DE',
                          'types': ['country', 'political']},
                         {'long_name': '80331',
                          'short_name': '80331',
                          'types': ['postal_code']}],
  'formatted_address': 'Rosenstraße 1, 80331 München, Germany',
  'geometry': {'location': {'lat': 48.136843, 'lng': 11.574534},
               'location_type': 'ROOFTOP',
               'viewport': {'northeast': {'lat': 48.1381919802915,
                                          'lng': 11.5758829802915},
                            'southwest': {'lat': 48.1354940197085,
                                          'lng': 11.5731850197085}}},
  'place_id': 'ChIJb5mLKvV1nkcRoLu43AhDUiA',
  'plus_code': {'compound_code': '4HPF+PR Munich, Germany',
                'global_code': '8FWH4HPF+PR'},
  'types': ['electronics_store',
            'establishment',
            'point_of_interest',
            'store']}]

到目前为止我的代码:

def get_location(pointOfInterest):
    gmaps = googlemaps.Client(key='KEY')

    geocode_result = gmaps.geocode(pointOfInterest)

    # street_number = geocode_result[0]['address_components'][0]['long_name']
    
    lat = geocode_result[0]['geometry']['location']['lat']
    lng = geocode_result[0]['geometry']['location']['lng']

    pprint(geocode_result)
    # pprint(lng)

    search = 'postal_code'

    for value, postal_code in geocode_result[0].items():  # for name, age in dictionary.iteritems(): 
        if postal_code == search:
            print(value)


get_location('apple munich')
4

0 回答 0