SQLite Python 插入 - 绑定数目不正确
抱歉如果这有点重复,我花了很多时间试图找到答案,但提供的技巧似乎都没用。我想用Python把一份股票数据的csv文件(来自雅虎财经)读入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个。
我哪里出错了呢?
3 个回答
0
在发送查询参数的时候,使用列表而不是元组。
2
你有一个多余的?
,或者元组里的项目数量不够。
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]