[英]writing an array to h5 in python
使用h5py模塊,我試圖簡單地從一個h5文件中讀取數據,對數據進行一些基本計算,然后將其寫回到新的h5文件中。 一切都很好,除了嘗試寫入數據集時。
到目前為止,我有:
f = h5py.File(inData,'r')
dset = f['/DATA/DATA/']
HH = dset[...,0]
HHdB = (10*numpy.log10(HH*HH)) - 83
outfile = h5py.File(outData, 'w')
f.create_dataset('/DATA/DATA/', data=(HHdB))
這向我返回錯誤:“ ValueError:無法創建數據集(Dataset:無法初始化對象)”,我不理解。
我是新手,所以我們將不勝感激!
f.create_dataset
應該是outfile.create_dataset
,因為f
是在讀取模式下打開的File
,而outfile
是在寫入模式下打開的File
。
順便說一句,如果在with語句中使用h5py.File
作為上下文管理器,那么當Python離開with語句時,該文件將自動為您關閉(並寫入磁盤)。
import numpy
import h5py
with h5py.File(inData,'r') as f:
dset = f['/DATA/DATA/']
HH = dset[...,0]
HHdB = (10*numpy.log10(HH*HH)) - 83
with h5py.File(outData, 'w') as outfile:
outfile.create_dataset('/DATA/DATA/', data=HHdB)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.