pandas.Dataframe数据写入数据库

 导入相关数据包:(使用版本python3.6.0,python2与python3的mysql数据包有所不同)


 pip install pymysql
 pip install sqlalchemy

假设我们已经完成的数据的相关操作,得到一个dataframe格式的df,现准备将数据结果保存/插入至mysql数据库,相关代码如下:

import pymysql
import pandas as pd
from sqlalchemy import create_engine
#建立连接,username替换为用户名,passwd替换为密码,test替换为数据库名
conn = create_engine('mysql+pymysql://username:passwd@localhost:3306/test',encoding='utf8')  
#写入数据,table_name为表名,‘replace’表示如果同名表存在就替换掉
pd.io.sql.to_sql(df, "table_name", conn, if_exists='replace')

若我们想在pandas中查询mysql中相关数据,可使用如下代码:

import pandas as pd
import pymysql

#连接mysql数据库
db = pymysql.connect(host='127.0.0.1',port=3306,user=username,passwd=passwd,db=database)
#设置游标
cursor = db.cursor()

#编辑相关查询语句,由于python对于sql语句的纠错能力差,建议先在navicat执行一次查询后复制代码到此处
#长
sql = ''' select * from students where name = "李明" '''

#通过游标执行相关sql语句
cursor1.execute(sql)
#查询所有的查询结果,此处还可使用.fetchone()查询一个,.fetchmany()查询多个
data = cursor.fetchall()

#将查询结果转换成dataframe格式,若不需要可以删除
data = pd.DataFrame(list(data))

#关闭游标和数据库
cursor.close()
db.close()

 

你可能感兴趣的:(数据分析,Python)