我有执行mysql插入的以下python代码。 field_split
是我要插入的值的列表。 var_string是%s,
的重复字符串,表示我拥有的列数。它工作正常,但我想使代码更灵活,以便我可以传入列名。为此,我创建了report_field_list
,这是列名列表。我已经打印了query_string
,而且似乎格式正确。
我在新代码中遇到的错误是TypeError: not enough arguments for format string
var_string = ', '.join(['%s'] * len(field_split)) #builds string of %s, based on number of columns
query_string = 'INSERT into ' + table_name
query_string = query_string + ' VALUES (%s);' % var_string
cursor.execute(query_string, field_split)
db.commit()
新代码
var_string = ', '.join(['%s'] * len(field_split))
query_string = 'INSERT into ' + table_name
query_string = query_string + ' (%s);' % var_string
query_string = query_string + ' VALUES (%s);' % var_string
combined_list = report_field_list + field_split
cursor.execute(query_string, combined_list)
db.commit()