影刀编码版连接mysql数据库代码报错
评论
收藏

影刀编码版连接mysql数据库代码报错

经验分享
星云
2024-03-25 14:38·浏览量:1223
星云
官方发布于 2024-03-25 14:35更新于 2024-03-25 14:381223浏览

代码如下

import pandas as pd
from sqlalchemy import create_engine
def main(args):
    engine = create_engine('mysql+pymysql://账号名:密码@数据库/数据库名')
    #读取excel文件

    df = pd.read_excel(r'C:\Users\星云\Desktop\test.xlsx')

    #插入到数据库


    df.to_sql('SQL表名', con=engine, if_exists='append', index=False)import pandas as pd

报错信息TypeError: __init__() got multiple values for argument 'schema'

排查顺序

1、这可能是因为在调用 to_sql 方法时传递了重复的schema参数,为了避免,建议直接在to_sql里面加一个参数schema=None

2、查看pandas版本和sqlalchemy版本,sqlalchemy2.0.0及以上版本与pandas兼容不太好,这种情况有三种处理方式

方法一:升级pandas版本

pip install --upgrade pandas

方法二:将SQLAlchemy的版本往下降,这里我采取的方法就是这个

pip install sqlalchemy==1.4.46

方法三:安装sqlalchemy-databricks

sqlalchemy-databricks

以代替SQLAlchemy,前提把SQLAlchemy卸载干净,以防到时冲突报错。

收藏1
全部评论1
最新
发布评论
评论