如何正确将DataFrame格式数据导入到mysql数据库

读取数据库的操作和将数据写入到数据库还是有点不一样的

将DataFrame格式数据导入到mysql数据库,采用create_engine()方法:

from sqlalchemy import create_engine
# create_engine('mysql+pymysql://用户名:密码@主机/库名?charset=utf8')
engine = create_engine('mysql+pymysql://root:wx123456@localhost/testwuxian?charset=utf8')
table_commom=pd.read_excel(r'C:\Users\wuxian\Desktop\test.xlsx')
#将数据写入sql
pd.io.sql.to_sql(table_commom,'erp_source',con = engine ,if_exists = 'append',index="False")

将数据从数据库读取出来则是采用pymysql.connect()方法:

import pandas as pd
import pymysql
# 数据库对应地址及用户名密码,指定格式,解决输出中文乱码问题
conn = pymysql.connect(host=None, port=3306,
                       user='root', passwd='******', db='test',
                       charset='utf8')
# cursor获得python执行Mysql命令的方法,也就是操作游标
#使用cursor()方法创建一个游标对象
cur = conn.cursor()
v_sql = "select * from a"
#获取数据并以dataframe读取
table = pd.read_sql(v_sql,conn)
# =============================================================================
# 另一种方式获取数据库表
#使用execute()方法执行SQL语句
cur.execute(v_sql)
#使用fetall()获取全部数据
data = cur.fetchall()
# =============================================================================
#关闭游标和数据库的连接
cur.close()
conn.close()
table
data

更多推荐

如何正确将python的DataFrame格式数据导入到mysql数据库