使用 netCDF4 和 Python 以编程方式列出 NetCDF 文件的所有变量

Programmatically list all variables of a NetCDF file using netCDF4 and Python

如何以编程方式列出我使用 netCDF4 和 Python 读取的 NetCDF 文件的所有变量?

import netCDF4
dset = netCDF4.Dataset('test.nc')

根据文档,here,它看起来应该是:

import netCDF4
dset = netCDF4.Dataset('test.nc')
dset.variables
dset.variables.keys() 

将为您提供变量列表。

要将所有 变量名称 列为字符串,只需执行以下操作:

list(dset.variables.keys())

或简单

list(dset.variables)

对于包含 group structure 的 NetCDF 文件,需要访问每个组。在那些情况下,要生成并显示所有变量的列表,以下对我有用:

import netCDF4

def expand_var_list(var_list, group):
    for var_key, _ in group.variables.items():
        var_list.append(var_key)
    
    for _, sub_group in group.groups.items():
        expand_var_list(var_list, sub_group)

all_vars = []
with netCDF4.Dataset("test.nc", "r") as root_group:
    expand_var_list(all_vars, root_group)
print(all_vars)

此代码将每个组的变量添加到整体变量列表中,然后检查是否有 sub-groups。如果有 sub-groups,它会递归地对每一个执行相同的操作。