抱歉,如果这是多余的,我花了很多时间试图找到答案,但是提供的所有技巧似乎都无济于事。我正在尝试使用Python将SQL的股票数据(雅虎财务)文档读入SQLite:
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。
我在哪里出错了?
现在重新格式化,我认为问题已经明显。
to_db
有7个项目,而不是8个。因此,您试图仅用7个参数填写八个绑定。只是一个猜测,但也许应该是
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]
您有太多?
。或者元组中的项目太少。
虽然发送查询参数使用列表而不是元组