我有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 ]] [()]'而不是。嘗試打印兩個以確保... –