如何为python netcdf4变量对象分配值列表?

时间:2012-07-31 23:32:15

标签: python numpy netcdf

我正在尝试使用python的netCDF4包。我想做一些我认为应该直截了当的事情,但是我无法使它工作,我找不到任何关于它的文档。我有一个列表,我只想将列表存储在netCDF4.Variable对象中。我认为这段代码会将“newlist”存储在netCDF4.Variable对象“x_data”中,该对象是数据集对象“netdata”的一个组件:

netdata.variables['x_data'][:]=numpy.array(newlist)

但是没有。我收到错误消息:

ValueError: setting an array element with a sequence.

BTW,我已经导入了netCDF4和numpy。另外顺便说一句,如果我这样做而没有将newlist转换为numpy数组,这就是我得到的错误。

当然有办法做到这一点。谁知道怎么样?感谢。

附录:这个简单的更改让我超越了错误消息:

netdata.variables['x_data']=newlist

但我仍然没有走出困境。数据肯定存储在netdata.variables ['x_data']中,但随后关闭netdata并退出python,检查netCDF输出,数据就不存在了。有任何想法吗?再次感谢。

1 个答案:

答案 0 :(得分:5)

好的,如果有人有兴趣,显然这样做的方法是:

netdata.variables['x_data'][:]=newlist[:]

提示任何可能正在使用netCDF4 python包的人:这在很多方面都是一个很棒的包,但我在文档中的任何地方都找不到。