我想在netcdf文件中找到具有两个或更多维度的所有变量。换句话说,获取不 0或1维的所有变量的列表。
似乎我应该能够做到这样的事情:
ArrayList<T>()
使用
import netCDF4
nc = netCDF4.Dataset(file)
varlist = [<something> k,v in nc.variables.iteritems()]
,但我无法弄清楚。
答案 0 :(得分:2)
您几乎可以使用您提供的列表理解。布尔条件虽然结束,但不是在开头。
[(nm, var) for nm, var in nc.variables.iteritems() if var.ndim > 1]
输出一个长度为2的元组列表,每个元组包含名称和netCDF4变量对象。如果你只想要变量,你可以做
[var for var in nc.variables.itervalues() if var.ndim > 1]
列表理解是一个非常强大的工具;请参阅此处的官方文档:https://docs.python.org/2/tutorial/datastructures.html#list-comprehensions