大家好,我遇到了一些麻烦 运行 使用 pandasql 的简单 sql 查询

Hi everyone, I have some troubles running an easy sql query using pandasql

...
q='SELECT EXTRACT(HOUR FROM dTime) as hour FROM data'
output=pandasql.sqldf(q,globals())

(dTime 列包含时间数据,例如 '2019-02-15 03:44:27')

由于这个错误,它没有工作:

OperationalError:“FROM”附近:语法错误

我无法理解如何解决它,你能帮我吗?

SQLite 不支持 extract() 函数,但您可以使用 strftime():

q = "SELECT strftime('%H', dTime) AS hour FROM data"

这个 returns 小时,格式为 hh.

如果您想要小时作为数字,则:

q = "SELECT strftime('%H', dTime) + 0 AS hour FROM data"

通过将 0 添加到 strftime() 的结果,它被隐式转换为数字。