我有一个字典,其中包含一个 itemID 作为键,然后是一堆像这样的对:
(91311703, [(3300, 2), (3301, 3), (3327, 3), (3330, 2), (3386, 2), (3392, 2), (3
402, 3), (3413, 3), (3426, 3), (3449, 3)])
每对中的第一个数字是唯一的 ID 号,第二个数字是 1-5 之间的值。我想使用 sqlite3 将其写入表中,以便在此示例中,有一行 itemID 为 91311703,然后在 3300 列中的值为 2,在 3301 列中为 3,在 3327 列中为 3,等等
不同之处在于,该表将包含每个可能的 ID 号的列,总共大约 200-300 个。如果我传递的 dict 不包含 ID 号,我希望它为该列输入 0,因此在此示例中,列 3302-3326、3328、3329、3331-3385 等都将获得 0 值。
我想到的一种可能性是为每列创建默认值为 0 的表,然后当我传入 dict 时,它只会更新它包含的 ID 号列的值。不过,这似乎是一种糟糕的编码方式,所以我愿意接受建议。另一种选择是if
,else
如果在字典中找到 ID 号,则使用其对中的值,否则使用 0,但这似乎也不是一个很好的方法。
我需要什么 Python + sqlite3 代码来查看此字典并将值分配给与此字典中的对中的 ID 号匹配的列?对于在字典中找不到 ID 号的那些列,您有什么建议?我的目标是每个 itemID 有一行(即我的字典中每个键 1 行。)