【发布时间】:2018-09-14 20:02:24
【问题描述】:
我在 python 中有以下查询,我通过 pd.read_sql_query 使用它。它工作正常。我有一个日期列表,称为日期,用于查询。
for date i in dates:
query = ('SELECT * FROM table WHERE id in'+ str(tuple(ids)) + ' AND date
between '+"'"+str(i)+"'"+' and '+"'"+str(i)+"'")
有没有更简单的方法来查询日期,例如 ID?我想要这样的东西:
query = ('SELECT * FROM table WHERE id in'+ str(tuple(ids)) + ' AND date in' + str(tuple(dates)) + "'")
但是,这不起作用,因为日期在我的 python 列表以及 sql 数据库中保存为时间戳。
我的 sql 数据如下所示:
id date variable
A 20180101 00:00:00 1
B 20180101 00:00:00 2
B 20180501 00:00:00 3
C 20180201 00:00:00 4
我有一个格式化为字符串的 id 列表:
["B", "C"]
还有一个日期列表,格式为 datetime64[ns]:
[20180101 00:00:00, 20180201 00:00:00]
想要的输出是:
id date variable
B 20180101 00:00:00 2
C 20180201 00:00:00 4
【问题讨论】:
-
您能否提供一个“日期”的示例?一般来说,我正在寻找样本输入和输出。
-
进行了更新。希望现在更清楚