该
read_sql文件说这个
params参数可以是一个列表,元组或字典(见文档)。
通过在SQL查询中的值,也有不同的语法可能的:
?,
:1,
:name,
%s,
%(name)s(见PEP249)。
但是并非所有数据库驱动程序都支持所有这些可能性,支持 哪种语法取决于您使用的驱动程序 (
psycopg2我想是您的情况)。
在第二种情况下,使用字典时,您使用的是“命名参数”,根据
psycopg2文档,它们支持
%(name)s样式(因此
:name我不支持),请参阅http://initd.org/psycopg/docs/
usage.html#query-parameters。
因此,使用该样式应该可以:
df = psql.read_sql(('select "Timestamp","Value" from "MyTable" ' 'where "Timestamp" BETWEEN %(dstart)s AND %(dfinish)s'), db,params={"dstart":datetime(2014,6,24,16,0),"dfinish":datetime(2014,6,24,17,0)}, index_col=['Timestamp'])
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)