将多列添加到python的sqlite数据库中
问题描述:
我想在sqlite数据库中创建一个包含多列(比如约100列)的表。有没有比单独命名每个列更好的解决方案?我尝试以下操作:将多列添加到python的sqlite数据库中
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列肯定是不常见的,你肯定有一个适当的数据库设计的?
+0
我正在运行一些模拟,每个模拟输出一个约1500行和200列的数据矩阵。如果我将数据输出到.csv文件,它大约是3mb。我想知道如果使用SQLite数据库将使整个事情有效。感谢您的回答。 – Curious2learn 2010-10-21 14:13:59
我不认为占位符适用于列名或表名。 – SilentGhost 2010-10-21 13:48:47
只是为了确认SilentGhost - 占位符_definitely_不适用于列名或表名。 – Gretchen 2010-10-21 14:06:42
谢谢,SilentGhost和马修 – Curious2learn 2010-10-21 14:31:10