2

私は 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' を取得できないのはなぜですか?

4

1 に答える 1

2

わかりました。

numpy 配列を作成するときに dtype を指定しませんでした。コードの 2 行目は次のようになります。

knights = np.array([(42,'Lancelot'),(32,'Bedivere')], dt)
于 2013-08-11T20:34:11.493 に答える