将test文件夹下的多个txt文件转换为一个hdf5文件:
import h5py
import numpy as np
import os
in_path="test/"
out_path="data"
out_file="test.h5"
#创建输出文件夹
if os.path.exists(out_path)==False:
os.mkdir(out_path)
in_file=os.listdir(in_path)
#读取一个文件,获得参数
temp_matrix=np.loadtxt(os.path.join(in_path,in_file[0]))
print('每个文件的大小=',temp_matrix.shape)
matrix_dir = np.zeros((len(in_file),temp_matrix.shape[0],temp_matrix.shape[1]))
#读取每一个文件
count=0#计数第几个文件
for in_name in in_file:
temp_path=os.path.join(in_path,in_name)
matrix_file=np.loadtxt(temp_path)
matrix_dir[count,:,:]=np.array([x for x in matrix_file]).astype(np.float32)
count+=1
print("文件总数=",len(matrix_dir))
f_out=h5py.File(os.path.join(out_path,out_file),"w")
f_out['data1']=matrix_dir
f_out['data2']=matrix_dir
f_out.close()
其中,test文件夹:
写成的data/test.h5 文件: