Как читать несколько файлов H5 с помощью Python
У меня есть около 19 файлов hdf5(данные дистанционного зондирования). я прочитал их все по отдельности, а затем создал матрицу данных, скажем, купил компиляцию band 1 из каждого файла h5 и так далее. Но я сделал все это вручную, и теперь мне нужна полнометражная программа, которая делает все автоматически.
#SND_MWIR1-это конкретные данные подсчета полос, это 3D-массив. Я создал 2D-массив для каждого из них. а потом сделал из них словарь.
Что я уже пробовал:
import h5py import numpy as np import math import matplotlib.pylab as plt f = h5py.File("3DSND_12MAY2016_0000_L1B_SA1.h5","r") ls = list(f.keys()) f1 = h5py.File("3DSND_12MAY2016_0100_L1B_SA1.h5", "r") ls1 = list(f1.keys()) f2 = h5py.File("3DSND_12MAY2016_0200_L1B_SA1.h5", "r") ls2 = list(f2.keys()) f3 = h5py.File("3DSND_12MAY2016_0300_L1B_SA1.h5", "r") ls3 = list(f3.keys()) f4 = h5py.File("3DSND_12MAY2016_0500_L1B_SA1.h5", "r") ls4 = list(f4.keys()) f5 = h5py.File("3DSND_12MAY2016_0600_L1B_SA1.h5", "r") ls5 = list(f5.keys()) A = np.array(f1['SND_MWIR1'])[0] A1 = np.array(f2['SND_MWIR1'])[0] A2 = np.array(f3['SND_MWIR1'])[0] A3 = np.array(f4['SND_MWIR1'])[0] A4 = np.array(f5['SND_MWIR1'])[0] A5 = np.array(f6['SND_MWIR1'])[0] #SND_MWIR1 is a particular band count data dict0 = {1:A} dict1 = {2:A1} dict2 = {3:A2} dict3 = {4:A3} dict4 = {5:A4} dict5 = {6:A5} dict_MWIR1 = {} for d in (dict0, dict1, dict2, dict3, dict4, dict5): dict_MWIR1.update(d) print dict_MWIR1[1][0][1]
Richard MacCutchan
В чем именно заключается проблема? Вы можете автоматизировать обработку, просто добавив какой-то код, но неясно, что вы хотите автоматизировать.
Member 13074943
Я сделал список всех файлов H5, то, что я хочу, это прочитать их все вместе и назначить в новый список
Richard MacCutchan
Затем, пожалуйста, отредактируйте свой вопрос и объясните, в чем именно заключается проблема.
Member 13074943
Я хочу автоматизировать процесс чтения файлов h5 и этих словарей.
Member 13074943
кто-нибудь может мне помочь?
Karthik_Mahalingam
Всегда использовать Ответить кнопка для отправки комментариев / запросов заинтересованному пользователю, чтобы пользователь получил уведомление и ответил на ваш текст.
Member 13074943
Спасибо за информацию.