如何使用 python 在 netcdf 文件中找到所有 2D 或更高的变量



我想在netcdf文件中查找具有两个或更多维度的所有变量。 换句话说,获取所有 0 维或 1 维变量的列表。

看来我应该能够做这样的事情:

import netCDF4 nc = netCDF4.Dataset(file) varlist = [<something> k,v in nc.variables.iteritems()]

哪里用v.ndim > 1但我想不通。

你几乎就在那里,你提供的列表理解。 布尔条件在末尾,而不是在开头。

[(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

最新更新