如何在Scientific.IO.NetCDF.NetCDFFile中删除变量?

5 投票
1 回答
6080 浏览
提问于 2025-04-16 22:13

有没有办法从一个 Scientific.IO.NetCDF.NetCDFFile 中删除一个变量?如果文件是这样打开的:

nc = Scientific.IO.NetCDF.NetCDFFile("File.nc", "a")

无论是用

del nc.variables["var"]

还是用

nc.variables["var"] = None

都无法删除变量 var
提前感谢任何见解。

1 个回答

10

简单来说,你不能删除一个变量。这是NetCDF C-API的一个“特性”,并不是Scientific.IO.NetCDF或其他Python NetCDF模块的缺陷。

根据官方的NetCDF用户指南:属性比变量或维度更灵活;它们可以被删除,并且在创建后可以改变类型、长度和数值,而netCDF接口并没有提供删除变量或改变其类型和形状的方法。

不过,可以通过间接的方法解决这个问题,比如把除了那个有问题的变量以外的所有内容复制到一个新的NetCDF文件中。

撰写回答