无法读取netcdf文件属性,因为属性名称包含括号

时间:2016-03-21 08:03:23

标签: python python-2.7 netcdf

我使用python-2.7和NetCDF4模块来读取netcdf文件。我需要从netcdf文件中读取一个全局属性(Lat(Degrees.Cents_of_degrees)),该文件的名称中包含括号,但我无法读取它。我做了什么:

from netCDF4 import Dataset as NetCDFFile
filename = 'DDE30.2002.RG300004.nc'
nc = NetCDFFile(filename)
lat = nc.Lat(Degrees.Cents_of_degrees)

但我明白了:

AttributeError: NetCDF: Attribute not found

我尝试在括号前使用反斜杠但不起作用。 Here是netcdf文件。

2 个答案:

答案 0 :(得分:2)

我想你想要getncattr [docs]。可能最好不要依赖@ M.T.

建议的私人方法
lat = nc.getncattr('Lat(Degrees.Cents_of_degrees)')

答案 1 :(得分:0)

这是一个应该适用于您的案例的黑客,但我不建议进行概括。当您使用nc.myattribute访问netCDF文件的属性时,您正在调用nc.__getattribute__('myattribute')(请参阅documentation)。正如您所看到的,input属性在这里是一个字符串,因此它在允许值方面更加宽松。方法名称中的不需要的内容表示此库的作者不希望公开此功能。

因此,你能做的是:

lat = nc.__getattribute__('Lat(Degrees.Cents_of_degrees)') 

44.120147251339418分配给lat

相关问题