我正在尝试使用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输出,数据就不存在了。有任何想法吗?再次感谢。
答案 0 :(得分:5)
好的,如果有人有兴趣,显然这样做的方法是:
netdata.variables['x_data'][:]=newlist[:]
提示任何可能正在使用netCDF4 python包的人:这在很多方面都是一个很棒的包,但我在文档中的任何地方都找不到。