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)