我需要从HDF5文件中读取一些大型数据库,并以一种很好的方式组织它,以便于阅读和使用。
我看过这篇文章Python List as variable name,我正在尝试制作一本字典词典。
基本上我有一个我需要从HDF5文件中读取的数据集和变量列表。作为一个例子,我创建了这两个列表:
dataset = [0,1,2,3]
var = ['a','b','c']
现在,有一个传统的“自制啤酒”read_hdf5(dataset,var)函数,它从HDF5文件中读取数据并返回相应的数组。
我可以轻松地从特定数据集(例如0)读取,一次创建如下字典:
data = {}
for type in var:
data[type] = read_hdf5(0,type)
如果数据集0中每个变量的所有数据都给我一个很好的字典。
现在我想能够实现字典词典,这样我就能够访问这样的数据:
data[dataset][var]
返回给定集合和变量
的数据数组我尝试了以下内容,但循环唯一要做的就是覆盖最后一个变量read:
for set in dataset:
for type in var:
data[set] = {'set':set, str(type): read_hdf5(set,type)}
有什么想法吗?谢谢!!!
答案 0 :(得分:2)
在迭代vars之前,你必须为每个集创建一个新的dict:
dataset = [0,1,2,3]
var = ['a', 'b', 'c']
data = {}
for set in datasets:
data[set] = {}
for type in var:
data[set][type] = read_hdf5(set, type)
作为旁注:set
和type
是内置名称,因此您最好使用其他内容。