如何正确将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') #将数据写入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
发表评论 取消回复