Как устранить ошибку sqldf в python3? - PullRequest
0 голосов
/ 12 марта 2020

У меня есть pandas фрейм данных t1, и для выполнения анализа используется запрос sql:

Вот запрос:

import pandasql as ps
tc= """SELECT t1.*
                 ,LEAD(var1,1) OVER  (ORDER BY g , p, var1) AS f
                 ,LEAD(var1,1) OVER (ORDER BY  g, p , var1 )-var1 AS d
                 ,LEAD(p,1) OVER (ORDER BY  g, p , var1) AS next
 FROM t1 where k='hm#pgroup#fi'  """
 data=ps.sqldf(tc, locals())

Ошибка:

OperationalError                          Traceback (most recent call last)
c:\users\**\local\programs\python\python36\lib\site-packages\sqlalchemy\engine\base.py in _execute_context(self, dialect, constructor, statement, parameters, *args)
   1245                     self.dialect.do_execute(
-> 1246                         cursor, statement, parameters, context
   1247                     )

c:\***\programs\python\python36\lib\site-packages\sqlalchemy\engine\default.py in do_execute(self, cursor, statement, parameters, context)
    580     def do_execute(self, cursor, statement, parameters, context=None):
--> 581         cursor.execute(statement, parameters)
    582 

OperationalError: near "(": syntax error

Вышеуказанное исключение было прямой причиной следующего исключения:

Python: 3,6

...