Python 你能在pycharm中查看hdf5文件吗?

Python 你能在pycharm中查看hdf5文件吗?,python,pycharm,hdf5,h5py,Python,Pycharm,Hdf5,H5py,有没有一种方法/插件可以在pycharm中查看hdf5文件,这样您就不必安装HDFVIEW来手动检查文件?您可以使用该库 您可能事先不知道HDF5文件的结构。如果是这种情况,可以使用函数迭代HDF5文件中的所有路径。下面是一个例子: def traverse_datasets(hdf_file): """Traverse all datasets across all groups in HDF5 file.""" import h5py def h5py_data

有没有一种方法/插件可以在pycharm中查看hdf5文件,这样您就不必安装HDFVIEW来手动检查文件?

您可以使用该库

您可能事先不知道HDF5文件的结构。如果是这种情况,可以使用函数迭代HDF5文件中的所有路径。下面是一个例子:

def traverse_datasets(hdf_file):

    """Traverse all datasets across all groups in HDF5 file."""

    import h5py

    def h5py_dataset_iterator(g, prefix=''):
        for key in g.keys():
            item = g[key]
            path = '{}/{}'.format(prefix, key)
            if isinstance(item, h5py.Dataset): # test for dataset
                yield (path, item)
            elif isinstance(item, h5py.Group): # test for group (go down)
                yield from h5py_dataset_iterator(item, path)

    with h5py.File(hdf_file, 'r') as f:
        for (path, dset) in h5py_dataset_iterator(f):
            print(path, dset)

    return None
用法示例:

traverse_datasets('file.h5')

/DataSet1 <HDF5 dataset "DataSet1": shape (655559, 260), type "<f4">
/DataSet2 <HDF5 dataset "DataSet2": shape (22076, 10000), type "<f4">
/index <HDF5 dataset "index": shape (677635,), type "|V384">

如果您的数据不能保存在内存中,您可以迭代打印,也可以将一个片段提取到内存中。这本书有许多例子。语法遵循NumPy约定。

因此pycharm中没有内置GUI来查看它?@ClaudiuCreanga,pycharm设计用于运行Python代码,而不是专门用于HDF5文件。HDF5的“GUI”是您从Python中的
print
命令中获得的。如果您正在寻找特定于HDF5的解决方案,则需要使用HDF5产品(如HDFVIEW)。
with h5pyFile('file.h5', 'r') as f:
    arr = f['/DataSet1'][:]  # read entire dataset into memory