请用h5py将120个5维数组,每个数组宽度600长度600,打包成会
时间: 2023-05-22 16:02:45 浏览: 120
话的 .h5文件,文件名为data.h5,存储路径为D:/data/,请提供代码实现。
以下是示例代码:
```python
import h5py
import numpy as np
# 生成数据
data = np.random.rand(120, 5, 600, 600)
# 创建文件并写入数据
with h5py.File('D:/data/data.h5', 'w') as f:
f.create_dataset('data', data=data)
```
以上代码使用了h5py库来创建.h5文件,并将数据存储到文件中。首先,我们生成了一个120个5维数组的随机数数据。然后,使用h5py库的`File()`函数创建.h5文件,路径为'D:/data/data.h5'。接着,使用`create_dataset()`函数创建名为'data'的数据集,并将生成的`data`数据存储到该数据集中。最后,使用`with`语句来自动关闭文件。
相关问题
请用h5py将120个图片,每个图片宽度600长度600,打包成h5数据
非常感谢您的问题!以下是使用h5py将120张600x600的图片打包成h5数据的Python代码示例:
``` python
import h5py
import numpy as np
from PIL import Image
import os
# 图像数据存储路径
data_folder = "path/to/image/folder"
# 读取所有图像数据并转换为numpy数组
data = []
for i in range(1, 121):
# 图像文件名格式为 img_001.jpg ~ img_120.jpg
img_file = os.path.join(data_folder, f"img_{i:03}.jpg")
img = Image.open(img_file).convert("RGB")
img = np.array(img)
data.append(img)
# 将所有图像数据打包成h5数据
with h5py.File("data.h5", "w") as f:
f.create_dataset("data", data=np.array(data))
```
这段代码首先读取存储在 `data_folder` 中的所有图像数据,并将它们转换为numpy数组。然后使用h5py库创建一个新的h5文件,并将所有图像数据保存在一个名为"data"的数据集中。
python h5py读取h5文件变量存入数组
下面是一个示例代码,可以使用h5py库读取h5文件。该代码将读取名为“data”的变量,并将其存储在名为“data_array”的数组中。
```python
import h5py
# 打开h5文件
f = h5py.File('example.h5', 'r')
# 读取名为"data"的变量
data_var = f['data']
# 将变量存储在数组中
data_array = data_var[:]
# 关闭h5文件
f.close()
```
在上面的代码中,我们使用了h5py库中的File函数打开了名为“example.h5”的文件,并将其存储在变量“f”中。然后,我们使用f变量和变量名“data”来读取名为“data”的变量,并将其存储在变量“data_var”中。
接下来,我们使用“[:]”语法将变量内容存储在名为“data_array”的数组中。最后,我们使用close()函数关闭h5文件。
请注意,上面的代码仅适用于读取名为“data”的一维变量。如果您需要读取其他类型的变量或多维变量,请根据需要更改代码。
阅读全文