簡體   English   中英

在python中將數組寫入h5

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM