匹配键并插入新列

时间:2017-03-01 08:51:59

标签: python sqlite dictionary

我得到了一堆Python dicts,需要将它们组织成一个SQLite数据库。 dicts使用Unix时间戳作为键,然后使用值。 dicts目前看起来像这样:

{1487462400: u'385', 1481932800: u'270', 1464393600: u'213', 1459814400: u'780'}

我可以将这些转换为列表或元组,只需将键和值插入到SQLite表中,但我需要做的是获取一个新列表,匹配Unix时间戳键,然后将新值插入一个新的柱。我可以使用executemany并自动匹配密钥吗?

1 个答案:

答案 0 :(得分:1)

假设表已经有了新列,要编写单个值,您可以使用如下语句:

UPDATE MyTable SET NewColumn = ? WHERE TimeStamp = ?;

如果参数数组具有以下格式,则可以将其与executemany()一起使用:

[('new value', 1487462400), ('hello', 1481932800), ('xxx', 1464393600), ('...', 1459814400)]

如果您希望首先设置时间戳(由mydict.items()返回),则可以指定parameter numbers

UPDATE MyTable SET NewColumn = ?2 WHERE TimeStamp = ?1;