下面的代码试图从Access数据库中提取几个SQL查询
import pyodbc
import datetime
conx = pyodbc.connect("Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=C:\\Users\\Stuart\\PycharmProjects\\untitled\\Databases\\SandP.accdb;")
cursor=conx.cursor()
query=""" SELECT DISTINCT Date_ FROM Closing_prices
WHERE Date_ >= ? AND Date_ < ?"""
params1 = (datetime.date(2011, 8, 10), datetime.date(2014, 4, 30))
cursor.execute(query, params1)
dates = list()
for date in cursor:
dates.append(date[0])
for date in dates:
params2 = date
cursor = conx.cursor()
query= '''SELECT Volatility,Last_price FROM Volatility v,Closing_prices c WHERE c.Date_= ? and v.Date_=c.Date_'''
cursor.execute(query,params2)
for (vol,price) in cursor:
volatility=float(vol)
closing_price=float(price)
cursor.close()
cursor = conx.cursor()
if (date.weekday()==4):
nextDay=(date + datetime.timedelta(days=3))
else:
nextDay=(date + datetime.timedelta(days=1))
query= '''SELECT Date_,Time_, Close_ FROM Intraday_values WHERE (date = ? and time >= ?) or (date = ? and time <= ?)'''
params3 = (date,datetime.time(15, 30),nextDay,datetime.time(15, 14))
cursor.execute(query,params3)
最后一位抛出以下错误:
^{pr2}$请求试图从表中提取传递给请求的日期、时间和结束日期项,因为它在遍历之前创建的日期列表时传递给该请求的日期,以及截止时间为“15:30之后”和“日期+1”的“15:14之前”。在
首先,为什么只有4个问号(?)在SQL请求中-我没有正确地形成这个格式吗?在
另外,我尝试为日期时间.time. 这是不是也不正确?在
我有点力不从心!在
更改查询后工作 到
相关问题 更多 >
编程相关推荐