我在python中使用了一个非常大的netcdf地图文件,并希望"拉出";并在其中保存一个变量(我不需要其他变量)。原始文件太大,无法单独打开,我得到错误"ValueError: array is too big;arr.size * arr.dtype.itemsize
大于最大可能大小。"必须这样做,否则文件太大,无法在我的系统上使用。
我使用:
ds2 = netCDF4.Dataset("2020 _original_map.1.1.nc" .variables [' lccs_class ']
这使我能够读取大小的正确数据,但是ds2是'netCDF4._netCDF4.Variable'>我已经尝试了所有常用的方法来保存它作为netcdf,但没有一个是工作的。有人知道我如何保存ds2作为它自己的nc文件,或另一种方式来拉出"llcs类"并单独保存吗?我如何创建一个新的nc文件并将这个变量传递给它?
非常感谢!
使用xarray
,您可以写:
import xarray as xr
xr.open_dataset("2020_original_Map.1.1.nc")[['lccs_class']].to_netcdf('outfile.nc')