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现在是一个rearray。我不知道存储在recarray 中的变量和名称。我可以访问变量的名称

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 回答