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()

 

  • 3
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值