pandas读取和写入MySQL

        读取MySQL,就用pd.read_sql(),跟pd.read_csv,pd.read_excel一样,非常的好记。          

df=pd.read_sql(sql,con,index_col=None,coerce_float=True,params=None,parse_dates=None,columns=None,chunksize=Noen)

        sql 为可执行的sql 语句

        con 为数据库的连接,这里可以用pymysql

        我们常用的就是这两个参数

import pandas as pd
import pymysql

con = pymysql.connect(host='localhost',
                      user='root',
                      password='******',
                      database='数据库名',
                      port=3306,
                      charset='utf8')
df = pd.read_sql("SELECT * FROM 表名",con=con)

        写入sql 也是用pd.to_sql(),简单好记,有人性 。

df.to_sql(name,con,flavor=None,schema=None,if_exists='fail',index=True,index_label=None,chunksize=None,dtype=None)

name 参数为要存储的表名,这里不用事先建表,你写个表名它就自己建好了,连表字段都不用写,非常的省事。

con 参数为数据库的连接,这里不能用pymysql,pymysql只会傻傻 的一行一行写。可以用sqlalchemy,它能把一整个DataFrame一把梭哈掉。

if_exists 参数判断是否有重复表名,该参数有3个值:fail表示如果表名重复则不写入,replace表示如果表名重复覆盖原表,append表示追加写入。

import pandas as pd

import sqlalchemy

engine = sqlalchemy.create_engine("mysql+pymysql://root:******@localhost:3306/数据库名?charset=utf8")

df.to_sql(name='表名',con=engine,if_exists='replace',index=True)

  • 3
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值