2017-03-01 2 views
1

私はPythonの辞書をたくさん持っており、これらをSQLiteデータベースに整理する必要があります。ディクテーションでは、Unixのタイムスタンプをキーとして使用し、次に値を使用します。キーと一致して新しい列に挿入

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

私はリストやタプルにこれらを変換することができ、ちょうどSQLiteのテーブルにキーと値を挿入するが、私は何をする必要があることから、新しいリストを取るされ、Unixのと一致する:dictsは現在、次のようになりますタイムスタンプキーを使用して、新しい値を新しい列に挿入します。 executemanyを使用し、自動的にキーを一致させることはできますか?

答えて

1

単一の値を書き込むために、あなたはこのようなステートメントを使用し、テーブルにはすでに新しい列を持っていると仮定すると:

UPDATE MyTable SET NewColumn = ? WHERE TimeStamp = ?; 

パラメータ配列は、このフォームを持っている場合は、executemany()でこれを使用することができます。

あなたは( mydict.items()によって返される)最初のタイムスタンプを持っていることを好む場合は
[('new value', 1487462400), ('hello', 1481932800), ('xxx', 1464393600), ('...', 1459814400)] 

、あなたはparameter numbers指定することができます。

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

クール!私はそれを試してみるつもりですが、私がやりたいことのように思えます。パラメータ番号を知らなかった。素晴らしいもの:) –

+0

sqliteに存在しない場合、列を作成する方法はありますか? –

+0

それはあなたがGoogleにできる別の質問です。 –

関連する問題