在python中向sqlite数据库添加多列
我想在sqlite数据库中创建一个包含多列的表,比如说大约100列。有没有比单独命名每一列更好的解决方案?我正在尝试以下方法:在python中向sqlite数据库添加多列,python,sqlite,Python,Sqlite,我想在sqlite数据库中创建一个包含多列的表,比如说大约100列。有没有比单独命名每一列更好的解决方案?我正在尝试以下方法: conn = sqlite3.connect('trialDB') cur = conn.cursor() listOfVars = ("added0",) for i in range(1,100): newVar = ("added" + str(i),) listOfVars = listOfVars + newVar print listOfV
conn = sqlite3.connect('trialDB')
cur = conn.cursor()
listOfVars = ("added0",)
for i in range(1,100):
newVar = ("added" + str(i),)
listOfVars = listOfVars + newVar
print listOfVars
for i in listOfVars:
cur.execute('''ALTER TABLE testTable ADD COLUMN ? TEXT''',(i,))
conn.commit()
cur.close()
conn.close()
但我得到了以下错误:
OperationalError: near "?": syntax error
有人能建议我怎么做吗?谢谢 我想你可以通过字符串格式来实现,比如:
for i in listOfVars:
cur.execute('''ALTER TABLE testTable ADD COLUMN %s TEXT''' % i)
但是在sqlite数据库中有100列肯定不常见,你确定有一个合适的数据库设计吗?我认为占位符不适用于列或表名。只是为了确认SilentGhost-占位符绝对不适用于列或表名。谢谢,SilentGhost和Matthew我正在运行一些模拟,每个输出一个数据矩阵,大约有1500行和200列。如果我将数据输出到一个.csv文件,它大约是3mb。我想知道使用sqlite数据库是否会使整个过程变得高效。谢谢你的回答。