Member 13074943 Ответов: 0

Как читать несколько файлов 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

Спасибо за информацию.

0 Ответов