如何";格式";将列名和类型转换为python sqlite3?
我有一个在批量创建表时要使用的函数。如何";格式";将列名和类型转换为python sqlite3?,python,sqlite,Python,Sqlite,我有一个在批量创建表时要使用的函数。 这就是功能: def make_表(表名:list,游标:sql.cursor,参数,连接:sql.connection): 对于表名中的i: execute(f“如果不存在创建表”{scrub(i)}'({parameters}')) commit()连接 我的参数变量是parameters='name text,id integer' 它所做的是创建一个表,其中有一列名为“name text,id integer”,类型未知。 这里的解决方案是:不要工
这就是功能:
def make_表(表名:list,游标:sql.cursor,参数,连接:sql.connection):
对于表名中的i:
execute(f“如果不存在创建表”{scrub(i)}'({parameters}'))
commit()连接
我的参数变量是parameters='name text,id integer'
它所做的是创建一个表,其中有一列名为“name text,id integer”,类型未知。这里的解决方案是:不要工作。 我将有不同的名称和类型作为输入,列的数量也会有所不同。
有什么方法可以解决这个问题?不要在
{parameters}
周围加引号,这会将其转换为单个参数定义
cursor.execute(f"CREATE TABLE IF NOT EXISTS '{scrub(i)}' ({parameters})")
不要在
{parameters}
周围加引号。这使它成为一个单一的字符串,而不是将其作为单独的参数进行解析。请将其作为一个答案,这样我就可以接受它。我投票以简单的打字错误结束这个问题,这不值得回答。但我想键入单引号