3 개의 배열을 가진 기존 hdf5 파일이 있는데 h5py를 사용하여 배열 중 하나를 추출하려고합니다.H5PY를 사용하여 HDF5 파일을 NumPy로 내보내는 방법은 무엇입니까?
16
A
답변
34
h5py
은 이미 막 등 NumPy와 배열에있는 파일을 읽어들이
with h5py.File('the_filename', 'r') as f:
my_array = f['array_name'][()]
[()]
안으로 전체 어레이를 판독하는 수단; 그렇게하지 않으면 전체 데이터를 읽지 않고 서브 파트에 게으른 액세스를 제공합니다 (배열이 거대하지만 작은 부분 만 필요할 때 매우 유용합니다).
0
이 질문을하는 방법은 과잉이지만이 일을 많이하는 경우에는 좀 더 쉽게 만드는 패키지 SpacePy을 사용하십시오.
datamodel.fromHDF5() documentation h5py가 데이터를 처리하는 방법과 비슷한 방법으로 저장된 사전을 반환합니다.
고맙습니다 Dougal.I 코드를 수정했습니다 : >>> f = h5py.File ('D : /! JODI/Macau Wind/u_100m/20100101.hdf5', 'r') my_array = f [ 'u']. 값 f.close() 또 다른 바보 같은 질문은 출력 배열이 파일에 있다는 것입니까? 출력 배열을 어디에서 찾을 수 있습니까? –
출력 배열이 무슨 의미인지 모르겠습니다 : 위의'my_array'? 변경 한 내용은 저장하지 않는 한 메모리에 저장됩니다 ('h5py.File' 또는'numpy.save'와 같은 것). – Dougal
후자의 경우 :'.value' 메소드가 더 이상 작동하지 않습니다. 'f [ 'array_name'] [()]'를 대신 사용하십시오. – Dougal