0

我不知道如何将数据写入数据库,因为它不会回溯或任何东西。我的项目涉及我获取一堆股票代码并通过 REST api 运行它,从 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,))
4

1 回答 1

0

首先,需要将变量名cfor转换为conn.cursor()另一个变量名,例如cur. 因为在您当前的情况下,c它也代表表列的对应项。close

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

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

然后将执行称为

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

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

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

当然,别忘了添加

conn.commit()

发出 DML 语句后。

于 2020-12-07T21:00:41.027 回答