天天看点

《Python和HDF 5大数据应用》—2.3 HDF5工具

本节书摘来自异步社区《python和hdf 5大数据应用》一书中的第2章,第2.3节,作者[美]andrew collette(科莱特),胡世杰 译,更多章节内容可以访问云栖社区“异步社区”公众号查看。

在后续章节里,我们将创建大量的文件,需要一种方法能够独立地查看其中的内容。特别是当你需要将文件归档或者共享给其他同事的时候,对错误数据类型的检查是越早越好。

hdfview是hdf组织提供的一个免费的图形界面hdf5文件浏览器。虽然功能比较简单,但它是用java写的,所以在windows、linux和mac上都可以使用。它有一个内建的表格样式的数据浏览器,也能进行基本的绘图功能。

图2-2显示了一个hdf5文件的内容。左边的面板上列出了多个组。组1被打开,并显示了其包含的数据集。其中一个数据集又被打开,其内容被显示在右边的表格视图上。

《Python和HDF 5大数据应用》—2.3 HDF5工具

hdfview还允许你查看数据集和组的特征。基本上只要是hdf5支持的数据类型它都支持,除了某些长度可变的数据结构。

vitables是另一个免费的图形界面浏览器,图2-3显示了同一个hdf5文件在vitables上打开的界面。它为pytables文件做了优化,不过也能完美处理原生的hdf5文件。vitables的一大优势在于它是随着某些版本的python打包安装的,比如pythonxy,所以你可能已经拥有它了。

《Python和HDF 5大数据应用》—2.3 HDF5工具

本书多处用到了一个名字叫h5ls的程序,它可以列出hdf5文件的内容。下例用h5ls列出了一个hdf5文件包含的多个数据集和一个组:

《Python和HDF 5大数据应用》—2.3 HDF5工具

我们可以用-vlr选项来打印一些额外信息并递归地打印组的成员:

《Python和HDF 5大数据应用》—2.3 HDF5工具

这个格式有点用了,我们可以看到array数据集内的对象的类型是本地整型,且是一个有10个元素的1维数组。同样,在group组内有一个2维的subarray数据集,对象类型也是本地整型。

查看元数据像这样用h5ls就足够了。还有一个叫做h5dump的程序,它以更为清晰的格式打印出数据。

《Python和HDF 5大数据应用》—2.3 HDF5工具