pandas df到表抛出错误TypeError:__init__()参数“schema”有多个值

wtzytmuj  于 2023-02-02  发布在  其他
关注(0)|答案(3)|浏览(5477)

我在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

4ngedf3f

4ngedf3f1#

似乎SQLAlchemy的version 2.0.0(2023年1月26日发布)与早期版本的pandas不兼容,我建议您将您的Pandas版本 * 升级 * 到最新版本(version 1.5.3) with:

pip install --upgrade pandas

或者:

conda upgrade pandas
yacmzcpb

yacmzcpb2#

我在数据块中遇到了同样的问题,我不得不将sql alchemy降级到!pip install sqlalchemy==1.4.46

mepcadol

mepcadol3#

我在AWS遇到了与数据块完全相同的问题。我尝试了更高的解决方案,但没有任何效果。所以我安装了sqlalchemy-数据块库而不是SQLAlchemy,一切都恢复了正常。https://pypi.org/project/sqlalchemy-databricks/请先卸载/清除SQLAlchemy,以免与sqlalchemy-数据块冲突。

相关问题