使用Xarray读取多份NetCDF文件缺少group参数的问题求助
Xarray读取多NetCDF文件指定group的解决方案
xarray.open_mfdataset 会将未在自身接口定义的关键字参数自动透传给底层每次调用的xarray.open_dataset接口,因此你可以直接在open_mfdataset中传入group参数即可实现按指定组读取多文件,和单文件读取逻辑完全一致。
基础用法示例
import xarray as xr # 多文件读取时直接指定group参数,取值和单文件读取时的group参数保持一致即可 ds = xr.open_mfdataset( "你的NetCDF文件路径通配符/*.nc", group="你需要读取的目标组名", # 可根据需要补充其他参数,如concat_dim、combine、engine等 )
低版本Xarray兼容方案
如果你使用的是0.15版本以下的Xarray,不支持参数自动透传,可通过preprocess参数自定义单文件读取逻辑实现同样效果:
import xarray as xr def pre_read_group(file_path): # 单文件读取时指定group return xr.open_dataset(file_path, group="你需要读取的目标组名") ds = xr.open_mfdataset( "你的NetCDF文件路径通配符/*.nc", preprocess=pre_read_group, # 可根据需要补充其他参数 )
内容的提问来源于stack exchange,提问作者Abheesha
相关产品推荐
相关产品推荐

