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

How can I find all the variables 2D or higher in a netcdf file using python?

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

看来我应该可以这样做:

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

where uses 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