【问题标题】:How to import Pandas DF to Mysql without sqlalchemy?如何在没有 sqlalchemy 的情况下将 Pandas DF 导入 Mysql?
【发布时间】:2021-11-17 14:49:09
【问题描述】:

我正在使用这些模块连接 MySQL DB。

from flask_mysqldb import MySQL
import MySQLdb.cursors

我正在想办法将 pandas DF 中的数据导入 MySQL。通常我做的是

cursor.execute('INSERT INTO accounts (email, name) VALUES (%s, %s)',
                               (email, name,))
mysql.connection.commit()

向 MySQL 插入数据。

但现在我需要将 Pandas DF 上传到 MySQL。我的 excel 文件包含“电子邮件”和“姓名”列,我使用 pd.read_excel('data.xlsx', index_col=0) 将其转换为 pandas DF,但如何将其上传到 MySQL?

【问题讨论】:

    标签: python mysql pandas


    【解决方案1】:

    使用here 描述的pandas.DataFrame.to_sql 方法。

    尝试类似:

    import pandas as pd 
    from sqlalchemy import create_engine 
    
    conn = create_engine('mysql+mysqldb://root:password@localhost:3306/dbname?charset=utf8') 
    df = pd.read_csv('order_info_utf.csv',names = ['user_id','ispaid','price','paidtime']) 
    df.head() 
    pd.io.sql.to_sql(df,'tablename',con=conn,schema='orders',if_exists = 'replace')
    

    【讨论】:

    • 没有sqlalchemy怎么办?
    • @derikS4M1 不推荐的选项是将 pandas 降级到 0.14。那里的 to_sql() 方法接受来自 MySQLdb 的连接器。
    • 顺便说一句,为什么你不想使用 SQLAlchemy?
    猜你喜欢
    • 2019-03-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-09
    • 2018-11-10
    • 1970-01-01
    • 2017-06-03
    • 2015-11-01
    相关资源
    最近更新 更多