错误中的'rdt'对象是什么:'KeyError:“无法打开对象(对象'rdt'不存在)”?

时间:2017-01-23 18:52:55

标签: python h5py keyerror

我正在尝试执行以下代码

impot spacepy.time as spt
import spacepy.omni as om
ticks = spt.Ticktock(['2002-02-02T12:00:00', '2002-02-02T12:10:00'],     'ISO')
d = om.get_omni(ticks)
d.tree(levels=1)

这是spacepy文档中的示例。

我收到了错误:

Traceback (most recent call last):

File "<ipython-input-28-bd1a52c0010b>", line 1, in <module>
data = om.get_omni(ticks)

File "/usr/local/lib/python2.7/dist-packages/spacepy-0.1.6-py2.7.egg/spacepy/omni.py", line 252, in get_omni
enval, stval = omnirange(dbase=ldb)[1], omnirange(dbase=ldb)[0]

File "/usr/local/lib/python2.7/dist-packages/spacepy-0.1.6-py2.7.egg/spacepy/omni.py", line 377, in omnirange
start, end = hfile['RDT'][0], hfile['RDT'][-1]

File "h5py/_objects.pyx", line 54, in h5py._objects.with_phil.wrapper (/tmp/pip-4rPeHA-build/h5py/_objects.c:2684)

File "h5py/_objects.pyx", line 55, in h5py._objects.with_phil.wrapper (/tmp/pip-4rPeHA-build/h5py/_objects.c:2642)

File "~/.local/lib/python2.7/site-packages/h5py/_hl/group.py", line 166, in __getitem__
oid = h5o.open(self.id, self._e(name), lapl=self._lapl)

File "h5py/_objects.pyx", line 54, in h5py._objects.with_phil.wrapper (/tmp/pip-4rPeHA-build/h5py/_objects.c:2684)

File "h5py/_objects.pyx", line 55, in h5py._objects.with_phil.wrapper (/tmp/pip-4rPeHA-build/h5py/_objects.c:2642)

File "h5py/h5o.pyx", line 190, in h5py.h5o.open (/tmp/pip-4rPeHA-build/h5py/h5o.c:3570)

KeyError: "Unable to open object (Object 'rdt' doesn't exist)"

我不知道如何解决这个问题。

执行其他SpacePy代码时会出现同样的问题。

1 个答案:

答案 0 :(得分:0)

如果您是第一次运行SpacePy,则需要下载OMNI数据的特殊数据集(有关更多信息,here)。要获取它,只需执行:

import spacepy
spacepy.toolbox.update()

要使此功能正常工作,必须确保符合Installation Guideline的所有依赖关系,尤其是需要NASA CDF library