python数据库查询转dataframe

1. 场景描述

python环境下需要从greenplum/postgresql中,获取算法执行的数据,但是从数据库中查询出来是数组格式的,算法无法使用,需要转换为dataframe格式。

2. 解决方案

结合第三方pandas使用

2.1 数据库调用类

 import dbgp as dbgp
 data = dbgp.queryGp(sql)

2.2 数据库类

## 导入psycopg2包
import pandas as pd
import psycopg2

def queryGp(sql):
    ## 连接到一个给定的数据库
    conn = psycopg2.connect(dbname="db_laowang", user="laowang", password="123",
                         port="5432", host="10.192.168.11", client_encoding="UTF-8")

    df = pd.read_sql(sql, con=conn)

    ## 关闭数据库连接
    conn.close()
    return df

重点就这一行:df = pd.read_sql(sql, con=conn)



python数据库查询转dataframe_python