我得到了一堆Python dicts,需要将它们组织成一个SQLite数据库。 dicts使用Unix时间戳作为键,然后使用值。 dicts目前看起来像这样:
{1487462400: u'385', 1481932800: u'270', 1464393600: u'213', 1459814400: u'780'}
我可以将这些转换为列表或元组,只需将键和值插入到SQLite表中,但我需要做的是获取一个新列表,匹配Unix时间戳键,然后将新值插入一个新的柱。我可以使用executemany
并自动匹配密钥吗?
答案 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;