質問: ['value1','value2'] ここまでを確認するために以下のprintを行ったところエラーとなってしまいました。 `print( sql % (','.join(data)))` 以下エラー `print(sql % (','.join(data))) TypeError: not enough arguments for format string` #### 期待する結果 INSERT INTO tblnm (col1,col2) VALUES (value1,value2) のように文字列が入るだろうと考えておりましたが、期待通りにはゆきませんでした。 おそらくsqlという変数が展開されていないのではと推測をしておりますが、これを可能にする場合はどのようにしたらよいでしょうか。 どなたかご教示いただけたらと存じます。
回答: (','.join(data))の処理結果は、一つの文字列です。 一方 sql = 'INSERT INTO tblnm (col1,col2) VALUES (%s,%s)' 上記で必要としているパラメータは、2つです(%sが2つ) joinをしているのであれば、%sは一つでよろしいかと。