I需要处理一个包含许多属性和变量的netcdf文件中的单个变量。我认为不可能更新netcdf文件(请参见问题如何在Scientific.IO.NetCDF.NetCDFFile中删除变量?)。
我的方法如下:
1.从原始文件获取要处理的变量 2.处理变量 3.将原始netcdf中除了处理过的变量之外的所有数据复制到最终文件 4.将处理过的变量复制到最终文件
我的问题是编写第3步的代码。我从以下内容开始:
我的方法如下:
1.从原始文件获取要处理的变量 2.处理变量 3.将原始netcdf中除了处理过的变量之外的所有数据复制到最终文件 4.将处理过的变量复制到最终文件
我的问题是编写第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
如何在不必重建整个数据结构的情况下,用少量代码保存所有数据和属性?
dst[name][:] = src[name][:]
和dst[name].setncatts(src[name].__dict__)
)。 - Verwirrt