笔记-pandas读取mysql数据

目录
pandas读取mysql数据
pandas读取mysql数据到DataFrame
方法一
方法二

pandas读取mysql数据

def get_data():
    conn = pymysql.connect(host=RSYS_HOST,
                       port=RSYS_PORT,
                       user=RSYS_USER,
                       passwd=RSYS_PASSWORDD,
                       db=RSYS_DB_NAME,
                       charset='utf8')
    results = None
    try:
        read_result = pd.read_sql(sql, conn)
        result_json = json.loads(read_result.reset_index().to_json(orient='records', force_ascii=False))
        logger.info(sql)
        return result_json
    except Exception as e:
        # 发生错误时回滚
        logger.error("Error: unable to fecth data: %s,%s" % (repr(e), sql))
        conn.rollback()
    finally:
        conn.close()
  
    return results


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来设置

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大白砌墙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值