插入值时,如何使用变量“element”作为列的名称?当我运行它时,它会尝试向名为element的列添加一个值,但我希望它将值插入到具有分配给“element”的名称的列中。
import sqlite3
import json
with open('myDataFile.json') as json_data:
d = json.load(json_data)
for element in d["cards"][0]:
con = sqlite3.connect("MTGcards.db")
cur = con.cursor()
cur.execute("""INSERT INTO Cards (element) VALUES (?)""",(d["cards"][0][element]))
con.commit
cur.close()
con.close()
如果知道有用,“d”是一个大型的json文件,其中包含来自Magic the Gathering的不同卡片的卡片统计信息。我正在尝试将卡的每个stat插入到数据库中的相应列中,因此它的名称将进入名称列ect ...
这就是我的回忆。
Traceback (most recent call last):
File "C:\Users\Alex\Desktop\NEA code\jsonFileReadTest.py", line 11, in <module>
cur.execute("""INSERT INTO Cards (element) VALUES (?)""",(d["cards"][0][element]))
sqlite3.OperationalError: table Cards has no column named element