2011-07-25 48 views
4

是否可以從Scientific.IO.NetCDF.NetCDFFile中刪除變量?如果一個文件被打開,像這樣:如何刪除Scientific.IO.NetCDF.NetCDFFile中的變量?

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

既不是

del nc.variables["var"] 

,也不是

nc.variables["var"] = None 

將刪除該變量var
Thx提前任何見解。

回答

7

簡單的答案是你不能刪除一個變量。這是NetCDF C-API的「特性」,並不是Scientific.IO.NetCDF或任何其他python netcdf模塊的缺點。

來自官方NetCDF user guide: 屬性比變量或維度更具動態性;它們可以被刪除,並且在創建它們後它們的類型,長度和值被改變,而netCDF接口沒有辦法刪除一個變量或者改變它的類型或形狀。

這個問題可以通過將除有問題的變量之外的所有內容複製到新的NetCDF文件來間接解決。