python - 在python中将数组写入h5

标签 python arrays numpy h5py

使用 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:无法创建数据集(数据集:无法初始化对象)”,我不明白。

我是新手,因此我们将不胜感激!

最佳答案

f.create_dataset 应该是 outfile.create_dataset,因为 f 是以读取模式打开的 File,而outfile是一个以写入模式打开的File

顺便说一句,如果您在 with-statement 中使用 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)

关于python - 在python中将数组写入h5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26505448/

相关文章:

c - 使用 malloc 的 MPI 动态数组

Python:类型错误 - 单例数组

python - pickle numpy数组的子类时保留自定义属性

python - Google Python 风格指南和相关导入

java - 简化 Java 数组和数组列表

C# 从套接字读取错误的数据

python - 欺骗 numpy/python 来表示非常大和非常小的数字

python - 如何使用 Docker 容器作为 virtualenv 从 IDE 运行 Python 测试?

python - openpyxl : I can't open excel file with password

python - 如何在图像中找到类似结构的表格