Ticker Open High Low Close Volume AdjClose
AA 1/5/11 16.34 16.59 16.11 16.56 48278700 16.56
我正在使用以下表彰:
to_db = [(i['Ticker'], i['Open'], i['High'], i['Low'],i['Close'], i['Volume'], i['AdjClose']) for i in dr]
c.executemany("insert into stock_test1 (Ticker, Date, Open, High, Low, Close, Volume, AdjClose) values ( ?, ?, ?, ?, ?, ?, ?, ?);", to_db)
我得到了:
sqlite3.ProgrammingError:提供的绑定数量不正确。当前语句使用8,并且提供了7个。
我在哪里错了?
答案 0 :(得分:4)
现在它已被重新格式化,我认为问题变得明显。
to_db
有7个项目,而不是8个。所以你试图只用7个参数填写8个绑定。只是一个猜测,但也许它应该是
Ticker Date Open High Low Close Volume AdjClose
AA 1/5/11 16.34 16.59 16.11 16.56 48278700 16.56
会使to_db
改变如下:
to_db = [(i['Ticker'], i['Date'], i['Open'], i['High'], i['Low'],i['Close'], i['Volume'], i['AdjClose']) for i in dr]
答案 1 :(得分:2)
你有一个?
太多了。或者元组中的项目太少。
答案 2 :(得分:0)
在发送查询参数时使用列表而不是元组