0

こんにちは私はIDL(インタラクティブデータ言語)で作成されたいくつかのバイナリファイルを持っています。これはscipyを使用して読み取ることができます

scipy.io.readsav

特に私はそれを次のように使用しました

data = scipy.io.readsav("input.sav", python_dict=True)

そのため、出力は標準のPython辞書になります。特に、辞書に保存されているnumpy.recarrayにアクセスできる出力

du = data.keys()
duV = data[du[0]]

したがって、duVは現在リアレイです。再配列に格納されている変数と名前を事前に知りません。変数の名前には次のようにアクセスできます

names = duV.dtype.names

ここで、名前が等しいと仮定します

('V', 'T', 'THETA', 'ERR')

対応する名前を持つすべての変数を読み取るための自動的な手順を見つけたいと思います。つまり、自動的に次のように実行するものです。

v = duV.field('V')
t = duV.field('T')

電気ショック療法。電気ショック療法。そこで、recarrayの名前として名前が付けられた変数を作成したいと思います

4

1 に答える 1

1

すべてのフィールドをグローバル変数に入れたい場合は、次のようにすることができます。

for name in duV.dtype.names:
    globals()[name.lower()] = duV.field(name)
于 2012-04-20T13:22:40.167 に答える