Python 循环遍历xarray数据集中的dataArray属性

Python 循环遍历xarray数据集中的dataArray属性,python,python-3.x,python-xarray,Python,Python 3.x,Python Xarray,我有一个xarray数据集,其中包含许多数据数组。这些数据数组中的每一个都有一个.attrs,其中包含一个有序的dict,其中包含诸如每个数据数组的描述和单位之类的内容 我希望遍历数据集中的每个dataArray并打印出它们的每个.attr for ii in dataSet.data_vars: print(ii) 将给我每个数据数组的名称。然而,当我尝试 for ii in dataSet.data_vars: print(ii.attrs) 我得到AttributeEr

我有一个xarray数据集,其中包含许多数据数组。这些数据数组中的每一个都有一个.attrs,其中包含一个有序的dict,其中包含诸如每个数据数组的描述和单位之类的内容

我希望遍历数据集中的每个dataArray并打印出它们的每个.attr

for ii in dataSet.data_vars:
    print(ii)
将给我每个数据数组的名称。然而,当我尝试

for ii in dataSet.data_vars:
    print(ii.attrs)
我得到AttributeError:“str”对象没有属性“attrs” 如果我试试看

for ii in dataSet.data_vars:
     print(dataSet.ii.attrs)
我得到AttributeError:“Dataset”对象没有属性“ii”


python似乎试图将“ii”读取为DataArray名称,而不是将实际的DataArray名称存储为ii下的字符串。如何循环遍历所有数据数组并打印出每个数组的[dataArray].attr?

data\u vars
是一个可以对键、值对进行迭代的字典

for varname, da in dataSet.data_vars.items():
    print(da.attrs)
最后一个示例也可以使用,但需要使用
ii
作为字典键:

for ii in dataSet.data_vars:
    print(dataSet[ii].attrs)

请注意,如果您使用的是最新版本的xarray,还可以使用打印所有变量/属性。

提供一些示例数据,以便我们可以使用它。