在将变量数据写入数据库时遇到了很多问题,没有回溯,但它仍然不会写入数据库



我不知道如何将数据写入数据库,因为它不会回溯或做任何事情。我的项目涉及到我获取一堆股票代码,并通过RESTapi运行它,从json中提取值,然后将其排序到数据库中。我可以获得所有的变量,但在将变量值写入数据库时遇到了很多麻烦。以下是我从程序中获得的变量的示例,以及对数据库的失败写入。我是个新手,所以请像我5一样解释:(

import sqlite3
o=1
l=2
h=3
c=4
t='amd'
data=[t,o,l,c,h]
conn=sqlite3.connect('volindex1.sqlite')
c=conn.cursor()
c.execute('''DROP TABLE IF EXISTS Stonks''')
c.execute('''CREATE TABLE Stonks(ticker TEXT,low INTEGER, high INTEGER, open INTEGER, close INTEGER)''')
c.executemany('INSERT INTO Stonks VALUES(?,?,?,?,?)',(data,))

首先,需要将conn.cursor()的变量名c转换为另一个变量名,如cur。由于c也表示当前情况下表的列close的对应项。

然后,您可以再次用方括号嵌套这些变量,例如

data=[[t,o,l,c,h]]

然后调用执行作为

cur.executemany('INSERT INTO Stonks VALUES(?,?,?,?,?)',data)

假定CCD_ 6表仅由这五列组成。否则,您当然需要在INSERT语句(如(中单独列出这五列

INSERT INTO Stonks(ticker,low,high,open,close) VALUES... 

当然,别忘了添加

conn.commit()

在发布DML声明之后

最新更新