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

Arp*_*ire 18 python sqlalchemy pandas azure-databricks

我在 pandas 中有数据框:-purchase_df。我想将它转换为sql表,这样我就可以在pandas中执行sql查询。我尝试过这个方法

purchase_df.to_sql('purchase_df', con=engine, if_exists='replace', index=False)
Run Code Online (Sandbox Code Playgroud)

它抛出一个错误

TypeError: __init__() got multiple values for argument 'schema'
Run Code Online (Sandbox Code Playgroud)

我的数据框名称为purchase_df,我需要对其执行sql 查询。我需要对此数据框执行 sql 查询,如下所示 ....engine.execute('''select * from buy_df where condition''')。为此,我需要将数据帧转换为 sql 表,因为在我们的服务器中未安装 pandas_sql,仅安装了 sql alchemy。

我在本地 pycharm 中运行此代码,它工作得很好,但是当我在 databrick 笔记本中尝试此代码时,它显示错误。即使一周前,它在 databrick 笔记本中也运行良好。帮我解决这个问题。

注意:- pandas 版本“1.3.4”名称:SQLAlchemy 版本:2.0.0

Tim*_*ess 26

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

pip install --upgrade pandas
Run Code Online (Sandbox Code Playgroud)

或者:

conda upgrade pandas
Run Code Online (Sandbox Code Playgroud)


小智 13

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