通过python读取excel文件存入MySQL数据库(及报错)

库版本
pandas 1.1.5  
sqlalchemy 1.4.46 
pymysql  1.1.0


import pandas as pd
import sqlalchemy.types as tp
from sqlalchemy import create_engine


def type_dict(df):
    types_dict = {}
    for k, v in zip(df.columns, df.dtypes):
        if 'object' in str(v):
            types_dict.update({k: tp.VARCHAR(length=20)})
        if 'int' in str(v):
            types_dict.update({k: tp.INT()})
        if 'float' in str(v):
            types_dict.update({k: tp.Float})
        if 'date' in str(v):
            types_dict.update({k: tp.DATE})
    return types_dict

   
#df = pd.read_excel("excel文件路径")
df = pd.read_excel("./1.excel")
dict_types = type_dict(df)

# con = create_engine('mysql+pymysql://数据库名:数据库密码@localhost:3306/数据库库名')
con = create_engine('mysql+pymysql://root:root@localhost:3306/excel1')
df.to_sql(name='e1', con=con, if_exists='append', index=False, dtype=dict_types)

出现报错;

__init__() got multiple values for argument 'schema'

原因:

pandas 与 sqlalchemy 版本不兼容,修改库的版本

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值