在Python中从NetCDF MFDataset获取变量属性

在Python中从NetCDF MFDataset获取变量属性,python,netcdf,Python,Netcdf,我正在使用MFDataset在Python3(在Windows上)中加载多个NetCDF文件,我希望循环遍历变量并查看属性。我能够很好地加载和读取数据,但是我希望访问与变量相关的属性 import netCDF4 file = r"C:\netcdf_files\data*.nc" #wildcarded NetCDF files with netCDF4.MFDataset(file) as src: for name, variable in src.variable

我正在使用
MFDataset
在Python3(在Windows上)中加载多个NetCDF文件,我希望循环遍历变量并查看属性。我能够很好地加载和读取数据,但是我希望访问与变量相关的属性

import netCDF4
file = r"C:\netcdf_files\data*.nc" #wildcarded NetCDF files

with netCDF4.MFDataset(file) as src:       
    for name, variable in src.variables.items():            
        for attrname in variable.ncattrs():
           print("{} -- {}".format(attrname, variable.getncattr(attrname)))
当上述代码段运行时,我收到以下异常:

Traceback (most recent call last):
File "netCDF4\_netCDF4.pyx", line 5026, in netCDF4._netCDF4._Variable.__getattr__ (netCDF4\_netCDF4.c:57060)
KeyError: 'getncattr'
对于使用数据集加载的单个文件NetCDF文件:

import netCDF4
file = r"C:\netcdf_files\data1.nc" #single, explicit file

with netCDF4.Dataset(file) as src:       
    for name, variable in src.variables.items():            
        for attrname in variable.ncattrs():
           print("{} -- {}".format(attrname, variable.getncattr(attrname)))
上述操作运行良好,可以根据需要打印出变量属性

我对使用NetCDF文件仍然很陌生-在使用MFDataset加载数据时,是否有方法访问变量属性?
谢谢

使用
MFDataset
时,
getncattr
功能似乎确实不可用。此解决方案似乎同时适用于
Dataset
MFDataset

import netCDF4

src = netCDF4.Dataset("drycblles.1.nc")

for name, variable in src.variables.items():            
    for attrname in variable.ncattrs():
        print("{} -- {}".format(attrname, getattr(variable, attrname)))
        # or :
        #print("{} -- {}".format(attrname, variable.getncattr(attrname))) 


src = netCDF4.MFDataset("drycblles.*.nc")

for name, variable in src.variables.items():            
    for attrname in variable.ncattrs():
        print("{} -- {}".format(attrname, getattr(variable, attrname)))

在这两种情况下,我得到了相同的输出。

请提供导致错误的代码,最好是一个最小的工作(或在本例中,不工作)示例。嗨,巴特,我用一些工作示例更新了这篇文章-我希望它们能帮助解释我的问题。干杯