将Sqlite3表名设置为Python列表?

2024-04-26 11:12:59 发布

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

我想将表名设为python list。你知道吗

我试过了。但我看到表名只是I(对于语句变量),python说“表I已经存在”。你知道吗

我不知道哪个扇区错了。请回答这个问题。你知道吗

import sqlite3
con = sqlite3.connect("C:\\Users\\Kun\\Documents\\Dashin\\stock.db")
cursor = con.cursor()

stock_name = ['google','apple','amazon']

for i in stock_name:
    cursor.execute("CREATE TABLE i(Code text)")
    con.commit()

con.close()

Traceback (most recent call last):
  File "C:\Users\Kun\Documents\Dashin\code.py", line 35, in <module>
    cursor.execute("CREATE TABLE i(Code text)")
sqlite3.OperationalError: table i already exists

Tags: textnameinexecutecreatestocktablecode
1条回答
网友
1楼 · 发布于 2024-04-26 11:12:59

我认为问题在于:

cursor.execute("CREATE TABLE i(Code text)")

不能在i中使用值。更改为:

cursor.execute("CREATE TABLE %s(Code text)" % (i))

此外,代码的执行会创建持久的表,因此,如果多次运行此代码,则会得到相同的Table already exists错误。你知道吗

相关问题 更多 >