I want to generate a dynamic table:
columnames=[element[0] for element in bufferdata['data'] ]
for index,element in enumerate(columnames):
columnames[index]=re.sub("[(%./)-]","",element)
tuple(columnames)
querycreatetable='''CREATE TABLE test (ID INT AUTO_INCREMENT,name VARCHAR(50),symbol VARCHAR(10),sector VARCHAR(50),
%s FLOAT,%s FLOAT,%s FLOAT,%s FLOAT,%s FLOAT,
%s FLOAT,%s FLOAT,%s FLOAT,%s FLOAT,%s FLOAT,
%s FLOAT,%s FLOAT,%s FLOAT,%s FLOAT,%s FLOAT,
%s FLOAT,%s FLOAT,%s FLOAT,%s FLOAT,%s FLOAT,
%s FLOAT,%s FLOAT,%s FLOAT,%s FLOAT,%s FLOAT,
%s FLOAT,%s FLOAT,%s FLOAT,%s FLOAT,%s FLOAT,
%s FLOAT,%s FLOAT,%s FLOAT,%s FLOAT,%s FLOAT,
%s FLOAT,%s FLOAT,%s FLOAT,%s FLOAT,%s FLOAT,
%s FLOAT,%s FLOAT,%s FLOAT,%s FLOAT,%s FLOAT,
%s FLOAT,%s FLOAT,%s FLOAT,%s FLOAT,%s FLOAT,
%s FLOAT,%s FLOAT,%s FLOAT,%s FLOAT,%s FLOAT,
%s FLOAT,%s FLOAT,%s FLOAT
)
'''
try:
self.cursor.execute(querycreatetable,columnames)
except MySQLdb.ProgrammingError, e:
try:
print "MySQL Error [%d]: %s" % (e.args[0], e.args[1])
except IndexError:
print "MySQL Error: %s" % str(e)
but i receive this error: MySQL Error [1064]: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''SALES in millions' FLOAT,'Earnings per share' FLOAT,'PE Ratio TTM' FLOAT,'PE Hi' at line 2
does anyone see where the problem is?