是否有 GUI 可以查看 .npy 文件的内容?

Sup*_*cia 6 python numpy save

我正在使用 Python 2。

我已将 保存到计算机上的文件中dict。如果我将它作为文本文件打开,就会看到一堆 ASCII 字符,正如人们所期望的那样,因为我不只是保存数组。arrays.npy

我可以np.load在Python控制台中看到它的内容,但我想知道是否有一个GUI可以让我直接查看文件的内容,即不通过Python控制台?

基本上:如果我回去,我会将其保存为jsonhdf5文件,以便我可以使用某些查看器打开它们并可以清楚地看到数据。
没有这样做,并且保存了.npy文件,如果它们是 json 或 hdf5,我可以以类似的方式查看其内容吗?

小智 6

我认为这个工具可以帮助您完成您需要的事情。它可以帮助您编辑 .npy 文件的内容,例如电子表格。它还具有将 .npy 文件可视化为 2D 灰度图像和 3D 点云的选项:

https://github.com/csmailis/NPYViewer


hpa*_*ulj 4

np.load(或克隆)是加载的唯一原因npy

In [84]: adict = {'a':np.arange(3), 'b':np.ones((2,3),int)}
In [85]: np.save('foo.npy',adict)
In [86]: np.load('foo.npy')
Out[86]: 
array({'a': array([0, 1, 2]), 'b': array([[1, 1, 1],
       [1, 1, 1]])}, dtype=object)
Run Code Online (Sandbox Code Playgroud)

请注意,字典已包装在 0d 对象数据类型数组中。当时的字典结构是pickled. 带有字典的数组按照np.save格式进行了腌制。字典和对象数据类型数组都可以包含指向其他 Python 对象的指针,这些对象需要自己的 pickling 方法。换句话说,它从头到尾都是Python!

如果您尝试使用,json您会发现 numpy 数组不可 json 序列化。您必须申请tolist()将数组转换为列表。 json仅保存字典、列表和字符串(许多语言共享的基本 JavaScript 结构)。可能还有第三方序列化器来处理 numpy 数组。

h5用C++编写,有很多语言接口。 h5dump是一个方便的查看器。但是要从 Python 字典中编写字典,您必须使用h5py(或pytables)。字典可以很好地映射到 h5 组,而 numpy 数组可以很好地映射到 h5 数据集。