我正在使用sqlalchemy和sqlite和python。
dataset.to_sql('data', disk_engine, if_exists='replace')
def query(string):
return pd.read_sql_query(string, disk_engine)
数据集是从csv文件加载的pandas数据帧。
date = "select SUBSTR(Date,1) from data LIMIT 1"
print query(date)
SUBSTR(Date,1)
0 2014-08-08 00:00:00.000000
所以SUBSTR()方法确实有效,但是当我尝试这个时:
date = "select YEAR(Date) from data LIMIT 1"
print query(date)
OperationalError: (sqlite3.OperationalError) no such function: YEAR [SQL: 'select YEAR(Date) from data LIMIT 1']
我收到此错误。
我没有导入SUBSTR所以为什么SUBSTR()方法被识别而不是任何Date函数?
答案 0 :(得分:1)
我不相信Year()
是sqlite中的函数。
您应该使用strftime
。
像select strftime('%Y',date) from data limit 1
strftime上的W3资源。 http://www.w3resource.com/sqlite/sqlite-strftime.php