import pandas as pd
import pymysql
def visitMysql(params , sql):
try:
conn=pymysql.connect(host = params.get('host'),
port = params.get('port'),
user = params.get('username'),
passwd = params.get('password'),
db = params.get('database') )
cursor = conn.cursor()
cursor.execute(sql)
data = cursor.fetchall()
columnDes = cursor.description
columnNames = [columnDes[i][0] for i in range(len(columnDes))]
df = pd.DataFrame([list(i) for i in data],columns=columnNames)
cursor.close()
conn.close()
return df
except Exception as e:
print(e)
def visitPg(params , sql):
try:
import psycopg2
conn = psycopg2.connect(database = params.get('database'),
user = params.get('username'),
password = params.get('password'),
host = params.get('host'),
port = params.get('port'))
cursor = conn.cursor()
cursor.execute(sql)
data = cursor.fetchall()
columnDes = cursor.description
columnNames = [columnDes[i][0] for i in range(len(columnDes))]
df = pd.DataFrame([list(i) for i in data],columns=columnNames)
cursor.close()
conn.close()
return df
except Exception as e:
print(e)
def loatData(mysql_params , pg_params , bd_sort ,sql_text):
try:
if bd_sort == 'mysql':
data_df_in = visitMysql(mysql_params , sql_text)
elif bd_sort == 'pg' :
data_df_in = visitPg(pg_params , sql_text)
return data_df_in
except Exception as e:
print(e)
import pandas as pd
if __name__ == '__main__':
pg_params = {'host' : IP地址,
'username': 用户名,
'password': 密码,
'port': 端口,
'database' : schema
}
sql1 = "select *from table_name"
data_df = visitPg(pg_params , sql1)