pymysql连接数据库,获取数据代码示例

从数据库读取数据,并写入到csv文件。

def get_conn(idx):
"""
连接数据库:
如果idx为0,连接数据库1
否则idx为1-31,连接另一个数据库
连接成功后,返回conn
"""
    try:
        if idx == 0:
            conn= pymysql.connect(
            host= "a",
            user= "***",
            password= "***",
            port= ***,
            db= "***")
        else:
            conn= pymysql.connect(
            host= "b",
            user= "***",
            password= "***",
            port= ***,
            db= "***") 
    except Exception as e:
        logger.warning(e)
    finally:
        return conn


def get_data_from_db():
"""
从db获取数据
并将数据写入到csv
"""
    sql_v= """
        select ***,***
        from student_{0}
        where ***
        order by ***;
        """
    index = 0
    conn_one = get_conn(index)
    sql = sql_v.format(index)#format参数对应sql_v里面的变量。本例中{0}是一个变量,index对应它
    df= pd.read_sql(sql, con= conn_one)
    conn_one.close()
    
    index = 1
    conn_two = get_conn(index)
    for index in range(1, 32):
        sql = sql_v.format(index)
        df_tmp= pd.read_sql(sql, con= conn_two)
        df= pd.concat([df,df_tmp])
    conn_two.close()
    
    csvPath="../data/***.csv"
    df.to_csv(csvPath)
    
    return csvPath

if __name__ =='__main__':
    csvpath= getdata()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值