我正在使用netCDF4 Python包,我知道getattr()可以获取数据集变量属性的值,例如
root = Dataset(file_name,'r')
for var in root.variables.values():
print 'attrs of this variable:',var.ncattrs()
for attr in var.ncattrs():
print '<<attr name>> =', attr
print '<<attr value>> =',getattr(var,attr)
我可以通过上面的代码成功获取属性的名称/值对。现在我想获取属性的数据类型(int,float等),但我找不到这样的方法/函数,有人知道吗?我知道netCDF C包中有这样的API。
答案 0 :(得分:2)
nci = netCDF4.Dataset(file_name,'r')
g_attdict = nci.__dict__
for k,v in g_attdict.iteritems():
print k, type(v)
示例输出:
comment <type 'unicode'>
mooring_site_desc <type 'unicode'>
breakout_id <type 'numpy.int32'>
ending_julian_day_number <type 'numpy.float64'>
long_name <type 'unicode'>
...
答案 1 :(得分:1)
如果您print
变量,将列出数据类型。要使numpy dtype
使用.dtype
属性:
for var in root.variables.values():
print var
print var.dtype