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

时间:2015-04-24 18:07:26

标签: python netcdf

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

似乎我应该能够做到这样的事情:

ArrayList<T>()

使用 import netCDF4 nc = netCDF4.Dataset(file) varlist = [<something> k,v in nc.variables.iteritems()] ,但我无法弄清楚。

1 个答案:

答案 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