我不知道如何将数据写入数据库,因为它不会回溯或做任何事情。我的项目涉及到我获取一堆股票代码,并通过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声明之后