在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)))
在这两种情况下,我得到了相同的输出。请提供导致错误的代码,最好是一个最小的工作(或在本例中,不工作)示例。嗨,巴特,我用一些工作示例更新了这篇文章-我希望它们能帮助解释我的问题。干杯