如何在Python中读取数据并创建字典字典?

时间:2014-10-24 11:04:52

标签: python arrays database database-design dictionary

我需要从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)}

有什么想法吗?谢谢!!!

1 个答案:

答案 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)

作为旁注:settype是内置名称,因此您最好使用其他内容。