将变量字典值插入db

时间:2012-11-12 15:53:28

标签: python arrays dictionary

我有一个字典,其键和值是从互联网更新的。该字典在每次更新时都会不断更改其键/变量的位置和数量(由于某种原因),但键的名称和值的格式保持不变。最初,我将其键和值转换为不同的数组,并通过跟随它们的数组locaton将它们的值存储到数据库中,但是在我发现它的可变性之后,它再也不可能像我一样做了,因为len(字典) )不断变化。每次更新时都会从URL中获取字典项,有时会给我31个项目(每个项目是键:值),有时会在字典中给出3个,29个,28个甚至27个项目。所以,我已经对一些'always-there'项目进行了概括,现在我想在每次更新时提取它们,但不是根据它们的顺序,而是根据它们的键。它更像是:我需要在字典中搜索特定的关键字并将相应的值保存到变量中。例如,在一次更新时,它的键是:

>>> len(dict.keys())
>>> 30

另一次更新:

>>> len(dict.keys())
>>> 26

这表明字典中的项目数量保持不变。但是,我已经注意到一些强制键的列表(我在下面提到)总是在那里,所以我只需要在事物更新时查找它们。更确切地说,我需要一种方法来从字典中提取特定键(可能通过搜索)及其相应的值,并将它们保存到不同的变量,以便我可以将它们保存到数据库中。要搜索的键是:

  • temp_f
  • relative_humidity
  • wind_dir
  • pressure_mb
  • 位置

感谢。

2 个答案:

答案 0 :(得分:1)

如果我理解你的问题,你不需要维护字典中键/值的顺序,你只想从不需要的键中删除字典并重命名你感兴趣的键。你关心的是某些键可能也会丢失。我会以这种方式解决它。

new_dict = {
    'tf' : original_dict.get('temp_f', None),
    'rh' : original_dict.get('relative_humidity', None),
     # And so on...
}

答案 1 :(得分:0)

如果您想维护订单,请使用collections.OrderedDict代替普通dict