keyとしてitemIDを含み、次に次のようなペアの束を含むdictがあります。
(91311703, [(3300, 2), (3301, 3), (3327, 3), (3330, 2), (3386, 2), (3392, 2), (3
402, 3), (3413, 3), (3426, 3), (3449, 3)])
各ペアの最初の番号は一意のID番号であり、2番目の番号は1〜5の値です。これをsqlite3を使用してテーブルに書き込みたいので、この例では、itemIDが91311703の1つの行があり、3300列に2、3301列に3、3327列に3の値があります。等
ひねりは、テーブルにすべての可能なID番号の列があり、合計で約200〜300になることです。渡すdictにID番号が含まれていない場合は、その列に0を付けたいので、この例では、列3302-3326、3328、3329、3331-3385などはすべて値0を取得します。
私が考えた1つの可能性は、各列のデフォルト値が0のこのテーブルを作成し、dictを渡すと、そこに含まれるID番号列の値のみが更新されることです。ただし、これはコーディングが不十分な方法のように思われるので、提案を受け付けています。別のオプションはある種のものでif
ありelse
、ID番号がdictで見つかった場合は、そのペアの値を使用し、それ以外の場合は0を使用しますが、これを行うにはあまり良い方法ではないようです。
このdictを調べて、このdictのペアのID番号と一致する列に値を割り当てるために必要なPython + sqlite3コードは何ですか?dictにID番号が見つからない列に0を割り当てるために何を提案しますか?私の目標は、itemIDごとに1行にすることです(つまり、私の辞書ではキーごとに1行にします)。