「Newdataはx列のリストです」とは、x
を意味すると思います。 タプル 、それ以来、あなたは「最初のタプル」について話し続けます。 Newdata
の場合 タプルのリストです。y = len(Newdata[0])
それらのタプルの最初の1つにあるアイテムの数です。
それが必要な数であると仮定します(そして、すべてのタプルは同じ数のアイテムを持っている方がよいです。そうでない場合は、executemany
予定 失敗!)、@ Nathanの答えの一般的な考え方は正しいです:適切な数のコンマ区切りの質問マークを使用して文字列を作成します:
holders = ','.join('?' * y)
次に、それをSQLステートメントの残りの部分に挿入します。 @Nathanの挿入方法は、ほとんどのPython 2.anyバージョンに適していますが、2.6以降を使用している場合は
sql = 'INSERT INTO testdata VALUES({0})'.format(holders)
現在推奨されています(Python 3.anyでも機能します)。
最後に、
csr.executemany(sql, Newdata)
あなたが望むことをします。完了したら、トランザクションをコミットすることを忘れないでください!-)