我有hdf5
文件,我想打开,并在适当的值读入一个新的字典,并最终写入一个文本文件的列表。我不一定知道这些值,因此用户在数组中将它们定义为代码的输入。所需文件的数量由用户想要查看的数据天数决定。阅读在多个HDF5文件,并将其附加到一个新的字典
new_data_dic = {}
for j in range(len(values)):
new_data_dic[values[j]] = rbsp_ephm[values[j]]
for i in (np.arange(len(filenames_a)-1)+1):
rbsp_ephm = h5py.File(filenames_a[i])
for j in range(len(values)):
new_data_dic[values[j]].append(rbsp_ephm[values[j]])
这工作得很好,如果我只有一个文件,但如果我有两个或更多的似乎关闭键?我不知道这是否是到底发生了什么,但是当我问什么new_data_dic
,对于价值它给{'Bfs_geo_a': <Closed HDF5 dataset>,...
这将不会写入到一个文本文件中。我试过在打开下一个(rbsp_ephm.close()
)之前关闭hdf5文件,但我得到相同的错误。
感谢您的帮助!
我试图从HDF5文件中获取数据,并把它转换成字典打开一个新文件,并采取这些数据,它在字典中已经追加到数据。似乎正在发生的事情是,如果你有一个文件,它工作正常,但是当你打开第二个文件时,第一个文件会被关闭并被遗忘。 –
没有如果认为这只是当你'rbsp_ephm [值[J]',它不是实际的数据,你处理(它是'HDF5 dataset'对象)时,你必须做'rbsp_ephm [值[J ]] [()]'而不是。尝试打印两个以确保... –