微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何将 Python 中的列表写入 NetCDF 文件?

如何解决如何将 Python 中的列表写入 NetCDF 文件?

我在 Python 中有一些列表,我正尝试将这些列表写入 NetCDF 文件,但我不确定如何使其工作。

列表结构的一个例子是:

每个列表由多个列表本身组成,比如 17 个,每个列表有 3 个元素。第一个元素是一年,所以只是一个整数或一个字符串,第二个元素由 36 个数组组成,第三个元素由 5 个数组组成。

根据其他指南,我尝试以这种方式编写代码

fn = 'mean_yearly_list.nc'
ds = nc.Dataset(fn,'w',format='NETCDF4')

year = ds.createDimension('date',None)
lat = ds.createDimension('lat',36)
clim = ds.createDimension('clim',5)

years = ds.createVariable('date','f4',('year',))
lats = ds.createVariable('lat',('lat',))
clims = ds.createVariable('clim',('clim',))
value1 = ds.createVariable('value_lat',('years','lat',))
value2 = ds.createVariable('value_clim','clim',))

但现在我不确定如何将我的列表/数组准确地写入 NetCDF 文件中的这些变量。有谁知道这是最简单的方法吗?感谢您的帮助!

解决方法

让我们假设您有变量/列表,其值为 yeardata、latdata、climdata、value1data、value2data。那么你所要做的就是:

years[:] = yeardata;
lats[:] = latdata;
clims[:] = climdata;
value1[:] = value1data;
value2[:] = value2data;

ds.close()

正如您已经假设的那样,数据的维度必须与 netCDF 文件中的维度匹配。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。