我需要处理 netcdf 文件中的单个变量,该文件实际上包含许多属性和变量。我认为不可能更新 netcdf 文件(请参阅问题如何删除 Scientific.IO.NetCDF.NetCDFFile 中的变量?)
我的方法如下:
- 从原始文件中获取要处理的变量
- 处理变量
- 将所有数据从原始 netcdf 但处理后的变量复制到最终文件
- 将处理后的变量复制到最终文件
我的问题是编写第 3 步的代码。我从以下内容开始:
def processing(infile, variable, outfile):
data = fileH.variables[variable][:]
# do processing on data...
# and now save the result
fileH = NetCDFFile(infile, mode="r")
outfile = NetCDFFile(outfile, mode='w')
# build a list of variables without the processed variable
listOfVariables = list( itertools.ifilter( lamdba x:x!=variable , fileH.variables.keys() ) )
for ivar in listOfVariables:
# here I need to write each variable and each attribute
如何在少量代码中保存所有数据和属性,而无需重建整个数据结构?