pandasql sqldf 的 where 子句中的日期比较

date compare in where clause of pandasql sqldf

我正在使用 pandasql sqldf 查询数据框,但无法比较 where 子句中的日期,出现无效语法错误。

from pandasql import sqldf
import pandas as pd

df = pd.DataFrame([['2015-05-07','2021-05-07'], ['2020-03-06','2018-06-08']],columns= ['date1','date2'])

start = '2020-01-01'
dt= '2015-05-07'
testdf = sqldf('select * from df where strftime('%Y-%m-%d', start) > strftime('%Y-%m-%d',dt))

您遇到格式问题

testdf = sqldf('select * from df where strftime("%Y-%m-%d", {}) > strftime("%Y-%m-%d",{})'.format(start,dt))

输出:

       date1       date2
0  2015-05-07  2021-05-07
1  2020-03-06  2018-06-08