我在Pandas里有一个dataframe:- purchase_df,我想把它转换成sql表,这样我就可以在Pandas里进行sql查询了,我试过这个方法
purchase_df.to_sql('purchase_df', con=engine, if_exists='replace', index=False)
它抛出一个错误
TypeError: __init__() got multiple values for argument 'schema'
我有一个名为purchase_df的 Dataframe ,我需要在它上面执行SQL查询。我需要在这个 Dataframe 上执行SQL查询,如下所示....engine.execute('''select * from purchase_df where condition''')。为此,我需要将 Dataframe 转换为SQL表,因为在我们的服务器panda_sql中没有安装,只安装了SQL alchemy。
我在pycharm本地运行此代码,它工作得非常好,但当我尝试在databrick笔记本电脑,它显示了一个错误。即使一周前,它在databrick笔记本电脑运行得很好。帮助我解决这个问题。
注意:-panda版本'1.3.4'名称:SQLAlchemy版本:2.0.0
3条答案
按热度按时间4ngedf3f1#
似乎SQLAlchemy的version 2.0.0(2023年1月26日发布)与早期版本的pandas不兼容,我建议您将您的Pandas版本 * 升级 * 到最新版本(version 1.5.3) with:
或者:
yacmzcpb2#
我在数据块中遇到了同样的问题,我不得不将sql alchemy降级到!pip install sqlalchemy==1.4.46
mepcadol3#
我在AWS遇到了与数据块完全相同的问题。我尝试了更高的解决方案,但没有任何效果。所以我安装了sqlalchemy-数据块库而不是SQLAlchemy,一切都恢复了正常。https://pypi.org/project/sqlalchemy-databricks/请先卸载/清除SQLAlchemy,以免与sqlalchemy-数据块冲突。