2

pytables サブクラスに情報を保存しようとしています。クラス Record とサブクラス Data があります。データには、レコードのすべての行に対して多くの行があります。row.append() でループを使用したくありません。配列を作成して Data.v 列にドロップすることはできますか? どのように?

import tables as tbs
import numpy as np

class Record(tbs.IsDescription):
    filename  = tbs.StringCol(255)
    timestamp = tbs.Time32Col()
    class Data(tbs.IsDescription):
        v = tbs.Int32Col(dflt=None)

...
row = table.row
for each in importdata:
    row['filename'] = each['filename']
    row['timestamp'] = each['timestamp']

    # ???? I want to do something like this
    row.Data = tbs.Array('v', each['v'], shape=np.shape(each['v']))
    row.append()
4

2 に答える 2

0

ネストされた列では、列キーに「/」セパレータを使用します。したがって、次の行を変更するだけでよいと思います。

row.Data = tbs.Array('v', each['v'], shape=np.shape(each['v']))

以下に:

row['Data/v'] = each['v']
于 2013-10-10T18:44:42.597 に答える