これを改良して、codeをPython 3.6でより効率的にするようにしています。リストからタプル
row
は、(それがcsv
リーダーから来る)
sql = "CREATE TABLE %s (%s)" % (tablename,", ".join([ "%s text" % column for column in row ]))
私は、これは行くための最善の方法であるかどうかわからないのですが、これまでのところ、私は最初の2を交換することにより、コードを改善することができたリストです。 %s
ではなく、3番目のものではありません。
query = 'CREATE TABLE {0} ({1})'
sql = query.format(tablename, ", ".join([ "%s text" % column for column in row ]))
第3の%s
を交換することはできますか?フォーマットを使用するのが最善の方法ですか?
あなたは列の行 '' {} text ".format(列)を意味しますか? –
これはあなたのプログラムにとって非常に非効率的なことはほとんどありません。 –
このような場合に文字列のフォーマットがボトルネックになるかどうかは疑問です。 パフォーマンスを向上させたい場合は、 'マルチプロセッシング'を調べるか、 'async' SQLクライアント – Pythonist