Python HDF5 / NumPy打印阵列不同

时间:2013-08-11 14:24:15

标签: python numpy hdf5

我是numpy和hdf5的新手,我正试图跟随Anthony Scopatz的'HDF5是爱好者'教程。

我正在将一个numpy数组传递给hdf5表但是当我从hdf5中读取值时,它似乎编码不同:这是代码:

dt = np.dtype([('id',int),('name','S10')])
knights = np.array([(42,'Lancelot'),(32,'Bedivere')])
f.createTable('/','knights',dt)
f.root.knights.append(knights)
f.root.knights[0]

输出:

(12852, '\x00\x00\x00Lancelot')

这里发生了什么?为什么我没有得到原始输入,即'42','Lancelot'?

1 个答案:

答案 0 :(得分:2)

好的,我已经弄清楚了。

创建numpy数组时我没有指定dtype。代码的第二行应该是:

knights = np.array([(42,'Lancelot'),(32,'Bedivere')], dt)