添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
追风的牛肉面  ·  python pandas ...·  1 月前    · 
闯红灯的煎鸡蛋  ·  Kotlin ...·  3 月前    · 
英勇无比的红茶  ·  sqoop ...·  11 月前    · 

记录一下使用xarray读取hdf4(not hdf5)过程中遇到的问题.

  • 目的: 读取hdf4 file的matadata
  • 遇到的问题:使用xarray.open_dataset()失败
  • 解决方法:使用pyhdf.SD代替
import os
from pyhdf.SD import SD, SDC
import xarray as xr
import numpy as np
import pandas as pd
import datetime as dt
import hvplot.xarray 
import scipy
import pprint
import warnings
warnings.filterwarnings('ignore')
# 输入文件
file ='xxx.hdf' (ps:这里是hdf文件,not hdf5,没有试过hdf5是否成功)
# --------方法1: 失败-------
# --------方法1: 失败-------
ds       = xr.open_dataset(file,engine='pynio')
metadata = ds.attrs[attr_name]//e.g., attr_name = 'StructMetadata.0'
主要的原因:
for reading GRIB and other geoscience specific file formats. 
Note that PyNIO is not available for Windows and 
that the PyNIO backend may be moved outside of xarray in the future.
# --------方法2: 成功-------
# --------方法2: 成功-------
ds = SD(file, SDC.READ) 
all_metadata = ds.attributes()
specific_metadata = getattr(ds, attr_name) //attr_name为想要读取变量的name,比如’temperature'

[1] 使用rioxarray读取hdf: link

[2] 使用rioxarray读取hdf: link

[3] 使用pyhdf读取hdf: link

[4] 使用pyhdf读取hdf metadata: link

[5] pyhio: link

[6] pyhio: link

前段时间因为一个业务的需求需要解析一个HDF格式的文件。在这之前也不知道到底什么是HDF文件。百度百科的解释如下:HDF是用于存储和分发科学数据的一种自我描述、多对象文件格式。HDF是由美国国家超级计算应用中心NCSA(全称:National Center for Supercomputing Application)创建的,采集软件,为了满足各种领域研究需求而研制的一种能高效存储和分发科学数据的... for idx,sds in enumerate(data_dic.keys()): print (idx,sds) od = f.select('Optical_Depth_047')[:] 读取hdf5格式 用miniconda安装(环境) pip install D:\ruanjianbao\pyhdf(whl下载存放的位置)\pyhdf-0.10.5-cp38-cp38-win_amd64 .whl注意:python版本号要对应,下载网站在csdn搜索。 h5文件格式,HDF 的版本 5(HDF 版本 5不与 HDF 版本 4 及早期版本兼容).HDF是什么呢?就是Hierarchical Data Format,可以存储不同类型的图像和数码数据的文件格式,并且可以在不同类型的机器上传输,同时还有统一处理这种文件格式的函数库。大多数普通计算机都支持这种文件格式。 (base) C:\Users\Administrator>conda env list #查看conda环境(env-environment缩写) (base) C:\Users\A. HDF 是用于存储和分发科学数据的一种自我描述、多对象文件格式。HDF 是由美国国家超级计算应用中心(NCSA)创建的,以满足不同群体的科学家在不同工程项目领域之需要。HDF 可以表示出科学数据存储和分布的许多必要条件。... 为了配合兵哥进行hdf的有效性检验,还是小小研究了一下python对hdf的读取过程。其实很简单,但是由于python的版本比较复杂,加上对python的了解不够多,因此还是花了一番功夫的。下面具体来看看来怎么搞。1.python安装首先当然是安装python环境了,我选择的是python2.5.4,可以从官方网站上进行下载python下载。2.numpy配置安装好python以后,就可以进行配置...