获取错误KeyError:'country''记录'对象''name_long'“name = country.attributes ['name_long']”

时间:2017-11-26 07:23:29

标签: python heatmap cartopy

我从另一个页面“Make colorbar legend in Matplotlib/Cartopy”尝试了他的例子但是当我试图在Jupyter Notebook中运行它时会抛出这样的错误:

function getEmployees () { ... }

请帮忙!代码示例:

KeyError                                  Traceback (most recent call last)
<ipython-input-3-55c282431f2e> in <module>()
     14 ax = plt.axes(projection=ccrs.Robinson())
     15 for country in shpreader.Reader(countries_shp).records():
---> 16     name = country.attributes['name_long']
     17     num_users = countries[name]
     18     ax.add_geometries(country.geometry, ccrs.PlateCarree(),

KeyError: 'name_long'

1 个答案:

答案 0 :(得分:1)

您的country.attributes字典/地图没有键'name_long'的值。

您所在的国家/地区是Record所提供的documentation for shapereader

记录具有属性,它只是一个普通字典。无论您正在阅读的数据是什么,都没有'name_long'属性。

您似乎是来自downloading the data网站的NaturalEarthData。因此,请检查实际可用的属性。

根据您的评论,您似乎拥有'NAME_LONG'密钥,但是...... 'NAME_LONG' != 'name_long'