我正在尝试使用 Python 的 pypyodbc 将从 YahooFinance 检索到的数据插入 SQL Server 数据库。
我正在使用下面的代码:
import pypyodbc
import ystockquote
conn = pypyodbc.connect('DRIVER={SQL Server};SERVER=serv;DATABASE=TEST;UID=uid;PWD=pwd')
cur = conn.cursor()
var1 = ystockquote.get_historical_prices('GOOG','201403027','20140411')
data = var1[1:]
columnBased = [[data[i][j] for i in range(len(data))] for j in range(len(data[0]))]
cur.execute("INSERT INTO [TEST].[dbo].[StockData] (Date, OpenPrice, ClosePrice, High, Low, Volume, Adj_Close) VALUES (?,?,?,?,?,?,?,?,?,?,?,?", (data))
cur.commit()
cur.close()
这会产生错误
Traceback (most recent call last):
File "file.py", line 32, in <module>
cur.execute("INSERT INTO [TEST].[dbo].[StockData] (Date, OpenPrice, ClosePrice, High, Low, Volume, Adj_Close) VALUES (?,?,?,?,?,?,?,?,?,?,?,?", (data))
File "file.py", line 1458, in execute
self._BindParams(param_types)
File "file.py", line 1263, in _BindParams
if param_types[col_num][0] == 'u':
TypeError: 'type' object has no attribute '__getitem__'
我可能做错了什么?请注意,我是一名 Python 新手,之前曾使用 MATLAB 进行过此类检索和数据库插入。