microbiomedata / nmdc_notebooks

Jupyter Notebooks demonstrating R and Python-based access to NMDC metadata and data
Creative Commons Zero v1.0 Universal
4 stars 0 forks source link

Defensive programming/decrease assumptions: Try/catch for `KeyError: 'geo_loc_name'` #28

Closed turbomam closed 1 month ago

turbomam commented 3 months ago

in NEON_soil_metadata/python/neon_soil_metadata_visual_exploration.ipynb

coordinates = set()
geo_locs = set()
dates = set()
for samp in all_results:
    lat_lon = f"{samp['lat_lon']['latitude']},{samp['lat_lon']['longitude']}"
    coordinates.add(lat_lon)
    geo_locs.add(samp["geo_loc_name"]["has_raw_value"])
    dates.add(samp["collection_date"]["has_raw_value"])
---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)
Cell In[4], line 10
      8     lat_lon = f"{samp['lat_lon']['latitude']},{samp['lat_lon']['longitude']}"
      9     coordinates.add(lat_lon)
---> 10     geo_locs.add(samp["geo_loc_name"]["has_raw_value"])
     11     dates.add(samp["collection_date"]["has_raw_value"])
     12 print(f"Number of NEON coordinates: {len(coordinates)}")

KeyError: 'geo_loc_name'