使用 .values 键"AttributeError: 'list' object has no attribute 'values' "的字典项目时出现问题


gribfile='gfs20191010.0p25' #file containing 384 hours of forecast data for variable Geopotential Height
grbs=pygrib.open(gribfile)
grb1=grbs.select(name='Geopotential Height')[0:24]
day1 = grb1.values

当我运行上面的代码时,出现以下错误:

AttributeError: 'list' object has no attribute 'values'

当仅选择列表中的第一项时,.values 键将起作用,如下所示:

grb1 = grbs.select(name='Geopotential Height')[0]

但不是当我这样做的时候

grb1 = grbs.select(name='Geopotential Height')[0:24]

我知道对于 .values 键,格式是 dict.values,但我无法弄清楚如何检索前 24 个列表项中的数据。 我的目标是将所选变量(位势高度(的前 24 个文件作为 numpy 数组,但为了做到这一点,我需要能够使用 .values 提取每个文件中包含的信息。

我一直在关注以下位置找到的pygrib文档:https://jswhit.github.io/pygrib/docs/

根据您提供的文档链接:

select返回gribmessage实例的列表。

因此,当您执行此操作时:

grb1=grbs.select(name='Geopotential Height')[0:24]

您正在获取select的结果(这是一个列表(,然后对该列表进行切片(这将产生另一个列表(。然后将切片列表绑定到grb1。因此,grb1 是gribmessage实例的列表。

正如 Pyhton 异常所述,列表没有values属性。然而,一个单一的gribmessage,大概,可以。

不确定这是否会让您更接近预期的结果,但您可以使用列表推导式从列表中的gribmessage实例中获取value

values = [grb.values for grb in grb1]

相关内容

  • 没有找到相关文章

最新更新