我升级到python 3.7,并使用了SQL Alchemy的更新版本。这段代码可以很好地执行py中的查询,并通过pandas将它们设置为数据框。现在,我遇到类型错误,我认为根本原因是与create_engine有关,但我不太确定。我看了一下文档,引擎的创建方式似乎没有任何变化。
path = '\\blah\\'
td = create_engine("mysql+pyodbc://<Username>:<Password>@DSN") # SQL Engine
def sqlDf(sql, engine):
sql = open(sql,'r')
sql = text(sql.read())
return pd.read_sql(sql,engine) #SQL Function
df = sqlDf(path+'SQL.txt', td)
File "C:\Users\44101\AppData\Local\Continuum\anaconda3\lib\site-packages\sqlalchemy\engine\default.py", line 552, in do_execute
cursor.execute(statement, parameters)
TypeError: The first argument to execute must be a string or unicode query.
以前我会将数据框保存到内核。
任何帮助将不胜感激。