python HDF 文件读取

HDF文件是地学研究中常用的数据格式,卫星数据的储存格式通常如此。下面以AVHRR 卫星数据为例,利用python 读取其数据

python 包

python 有专门针对hdf 文件读取的包
对于HDF4 以及以下来说,需要导入的包有:

from  __future__ import division
from pyhdf.SD import SD,SDC
import pprint 

文件读取-变量输出

hdf_name = 'patmpsx_n18.levels.hdf'
print ('file found {}'.format(hdf_name))   # 输出数据文件的名字以及所处的文件夹
hdf_obj = SD(hdf_name)
print (hdf_obj,info())  

输出内容为:(66,70) 表示有66个变量,70意思还不知道

data_dic = hdf_obj.datasets()
for idx,sds in enumerate(data_dic.keys()):
	print (idx,sds)

输出内容为:
python HDF文件读取

文件读取–变量读取

Lat = hdf_obj.select('latitude')[:]
print (Lat)
Lon = hdf_obj.select('longitude')[:]
print (Lon)

上述是第一种读取变量的方法,一维数据直接在select 后面加上[:]表示一维,如果是二维数据,则添加[:,:]

Map = hdf_obj.select('cloud_fraction')
data = Map.get()
data = np.transpose(data)  # 将数据进行转置

这是第二种读取数据的方法,假设我们不知道数据的维度,select 选定读取的变量名【第一行】,get 即获取数据的具体数值【第二行】。

pprint.pprint (Map.attributes())

输出内容为cloud fraction变量的全部信息:
python HDF文件读取

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-04-24
  • 2022-12-23
  • 2021-09-08
  • 2021-03-31
  • 2021-11-16
猜你喜欢
  • 2022-12-23
  • 2021-06-21
  • 2022-02-02
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案