如何解决xarray在当前已安装的IO后端中找不到匹配项的ValueError报错?

最近在服务器上配置环境遇到了xarray读取nc数据的相关问题,折腾了一下午终于解决了,记录下来,希望帮助后来人。具体报错如下

ValueError: did not find a match in any of xarray's currently installed IO backends ['netcdf4', 'scipy', 'pydap', 'zarr']. Consider explicitly selecting one of the installed engines via the ``engine`` parameter, or installing additional IO dependencies, see:
http://xarray.pydata.org/en/stable/getting-started-guide/installing.html
http://xarray.pydata.org/en/stable/user-guide/io.html

想要解决该问题只需要两步:

【1】下载相关依赖包​​​​​​​

可以发现已经明显提示了缺少IO backends,可到给出的网址中寻求解答。

第一行的网址是可以访问的,第二行则不行。在网址http://xarray.pydata.org/en/stable/getting-started-guide/installing.html​​​​​​​中,推荐给user一键安装backends的代码如下

conda install -c conda-forge xarray dask netCDF4 bottleneck

在你的prompt或是powershell中运行上述代码,就可以安装相关包了。这里博主为了方便就使用了这种方法,如果想要自定义安装的话详见上述网页

 【2】调用xarray.open_dataset()的engine

如果你刚好使用默认的engine就能够运行请自动忽略这步

我是遇到了如下报错(抱歉,截图有些小了,但大致意思就是需要选择engine,图中的xr就是xarray)

 因此这里依照open_dataset()函数说明

 写成如下形式就可以正常读取了

xr.open_dataset('file.nc', engine='netcdf4')

###如有疑问,欢迎留言###

物联沃分享整理
物联沃-IOTWORD物联网 » 如何解决xarray在当前已安装的IO后端中找不到匹配项的ValueError报错?

发表评论