Pandas读取MySQL数据到DataFrame

方法一:

#-*- coding:utf-8 -*-

from sqlalchemy import create_engine

class mysql_engine():
    user='******'
    passwd='******'
    host='******'
    port = '******'
    db_name='******'
    engine = create_engine('mysql://{0}:{1}@{2}:{3}/{4}?charset=utf8'.format(user,passwd,host,port,db_name))

def get_data(sql):
    pg_enine=mysql_engine()
    try:
        with pg_enine.engine.connect() as con, con.begin():
            df=pd.read_sql(sql,con)# 获取数据
        con.close()
    except:
        df=None
    return df

方法二:

conn = MySQLdb.connect(host="******",user="******",passwd="******",db='******',port = ******,charset="utf8")
sql = "select * from ****** limit 3"
df = pd.read_sql(sql,conn,index_col="id")
print df

pd 1.9以后的版本,除了sqllite,均需要通过sqlalchemy来设置

你可能感兴趣的:(MySql,Pandas)