Okay, es müsste also auch für CREATE TABLE-Befehle funktionieren mit den executemany-Befehl. Der Platzhalter-Gedanke war mir schon klar, nur dass es mit meinem Bsp. nicht funktionirt, irritiert mich.
Ich kann auch mal den kompletten Code posten, vielleicht erkennst Du da einen Fehler, den ich mache:
Code: Alles auswählen
fobj = open("D:\\file.csv", "r")
cols = fobj.readline()
cols = cols.strip()
col_list = cols.rsplit(";")
fobj.close()
conn = MySQLdb.connect("localhost", "root", db="xyz")
curs = conn.cursor()
curs.executemany("""CREATE TABLE temp (%s VARCHAR(30), %s VARCHAR(30))""",col_list)
Die Fehlermeldung, die ich bekomme, ist:
TypeError: not enough arguments for format string
col_list sieht in der Konsole so aus, wenn ich ihn über eine for Schleife ausgebe:
"abc"
"def"