使用 python 创建 hdf5 文件后,我 运行 陷入 ValueError
I'm running into a ValueError after creating an hdf5 file with python
我正在尝试为我的算法创建一个 h5 文件,但我继续收到以下 ValueError:
我最初是在“w”模式下创建文件的,但当时并没有
工作 我在模式“r+”下重新运行它,现在我 运行 陷入这个错误。
是否需要重命名文件,或者是否可以删除原来的h5文件
并以相同的名称重新创建它?任何输入将不胜感激,
谢谢。
ValueError Traceback (most recent call last)
<ipython-input-9-60d1408421e9> in <module>
9 #Import Data
10 f = h5py.File("orderbook.hdf5", "r+")
---> 11 dset = f.create_dataset("orderbook_dataset", (100,), dtype='i')
12
13
/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/h5py/_hl/group.py in create_dataset(self, name, shape, dtype, data, **kwds)
146 group = self.require_group(parent_path)
147
--> 148 dsid = dataset.make_new_dset(group, shape, dtype, data, name,
**kwds)
149 dset = dataset.Dataset(dsid)
150 return set
/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/h5py/_hl/dataset.py in make_new_dset(parent, shape, dtype, data, name, chunks,
compression, shuffle, fletcher32, maxshape, compression_opts, fillvalue, scaleoffset,
track_times, external, track_order, dcpl, allow_unknown_filter)
135
136
--> 137 dset_id = h5d.create(parent.id, name, tid, sid, dcpl=dcpl)
138
139 if (data is not None) and (not isinstance(data, Empty)):
h5py/_objects.pyx in h5py._objects.with_phil.wrapper()
h5py/_objects.pyx in h5py._objects.with_phil.wrapper()
h5py/h5d.pyx in h5py.h5d.create()
ValueError: Unable to create dataset (name already exists)
我通过在使用模式“w”创建文件后删除第 11 行来回答我的问题。这允许在不调用 'f.create_dataset' 的情况下以模式“r+”读取文件。
9 #Import Data
10 f = h5py.File("orderbook.hdf5", "r+")
---> 11 dset = f.create_dataset("orderbook_dataset", (100,), dtype='i')
我正在尝试为我的算法创建一个 h5 文件,但我继续收到以下 ValueError:
我最初是在“w”模式下创建文件的,但当时并没有 工作 我在模式“r+”下重新运行它,现在我 运行 陷入这个错误。
是否需要重命名文件,或者是否可以删除原来的h5文件 并以相同的名称重新创建它?任何输入将不胜感激, 谢谢。
ValueError Traceback (most recent call last) <ipython-input-9-60d1408421e9> in <module> 9 #Import Data 10 f = h5py.File("orderbook.hdf5", "r+") ---> 11 dset = f.create_dataset("orderbook_dataset", (100,), dtype='i') 12 13 /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site- packages/h5py/_hl/group.py in create_dataset(self, name, shape, dtype, data, **kwds) 146 group = self.require_group(parent_path) 147 --> 148 dsid = dataset.make_new_dset(group, shape, dtype, data, name, **kwds) 149 dset = dataset.Dataset(dsid) 150 return set /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site- packages/h5py/_hl/dataset.py in make_new_dset(parent, shape, dtype, data, name, chunks, compression, shuffle, fletcher32, maxshape, compression_opts, fillvalue, scaleoffset, track_times, external, track_order, dcpl, allow_unknown_filter) 135 136 --> 137 dset_id = h5d.create(parent.id, name, tid, sid, dcpl=dcpl) 138 139 if (data is not None) and (not isinstance(data, Empty)): h5py/_objects.pyx in h5py._objects.with_phil.wrapper() h5py/_objects.pyx in h5py._objects.with_phil.wrapper() h5py/h5d.pyx in h5py.h5d.create() ValueError: Unable to create dataset (name already exists)
我通过在使用模式“w”创建文件后删除第 11 行来回答我的问题。这允许在不调用 'f.create_dataset' 的情况下以模式“r+”读取文件。
9 #Import Data
10 f = h5py.File("orderbook.hdf5", "r+")
---> 11 dset = f.create_dataset("orderbook_dataset", (100,), dtype='i')