在sqlite数据库表中插入一行值(列表格式),列也作为lis

2024-09-30 20:34:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我想(每个循环)在数据库中插入一行大约700个测量值。这些值对应700个测量点(即表Partnr1的列)。在下一行,需要插入下一个包含700个测量点的测量文件,以此类推

我的想法是 cur.execute(“插入Partnr1[COLNew]值[COLvalue]”) 但这会产生错误:“[COLNew]”附近:语法错误

COLNew和COLvalue是格式的列表 COLValue=[0.15、0.21、0.17、0.22、-0.13、-0.16等] COLNew=['ID','Description','Profil Welle 52','Profil Welle 53','Profil Welle 54','Etc']

非常感谢您的帮助

谢谢米切尔


Tags: 文件数据库列表execute格式错误语法错误cur
1条回答
网友
1楼 · 发布于 2024-09-30 20:34:36

可以先生成SQL字符串:

numCols = len(COLNew)
numVals = len(COLvalue)

command = f"INSERT INTO Partnr1({'?,'*(numCols-1)}?) VALUES({'?,'*(numValues-1)}?);"

如果有5列,命令现在看起来像

'INSERT INTO Partnr1(?,?,?,?,?) VALUES(?,?,?,?,?);'

通过这种方式构建字符串,仍然可以使用sqlite参数

然后可以使用


cursor.execute(command, COLNew + COLvalues)

相关问题 更多 >