1
我想將時間序列(傳感器數據)的結果存儲到HDF5文件中。我似乎無法將值分配給我的數據集。很顯然,我做錯了什麼,我只是不知道是什麼......以HDF5格式存儲時間序列
代碼:
from datetime import datetime, timezone
import h5py
TIME_SERIES_FLOAT = np.dtype([("time", h5py.special_dtype(vlen=str)),
("value", np.float)])
h5 = h5py.File('balh.h5', "w")
dset = create_dataset('data', (1, 2), chunks=True, maxshape=(None, 2), dtype=TIME_SERIES_FLOAT)
dset[0]['time'] = datetime.now(timezone.utc).astimezone().isoformat()
dset[0]['value'] = 0.0
然後,更新代碼調整大小的數據集,並增加了更多的價值。顯然,這樣做,每個值是無效的:
size = list(dset.shape)
size[0] += 1
dset.resize(tuple(size))
dset[size[0]-1]['time'] = datetime.now(timezone.utc).astimezone().isoformat()
dset[size[0]-1]['value'] = value
一個更好的方法是將一些數據整理成np.array
,然後補充說,每隔一段時間...
這是明智的......