方法一: 使用psycopg2
import psycopg2 import pandas as pd # database,user,password,host,port分别对应要连接的PostgreSQL数据库的数据库名、数据库用户名、用户密码、主机、端口信息,请根据具体情况自行修改 conn = psycopg2.connect(database="db",user="usr", password="pw",host="ip",port="5432") cur = conn.cursor() #查询指令 query = """ SELECT * FROM schemaA.tableB """ # 执行 cur.execute(query) # 读取数据 rows = cur.fetchall() # 用pandas将数据转换成dataframe格式,以便后续操作 email_pd = pd.DataFrame(rows) # 关闭数据库连接 conn.close()
方法二:使用 sqlalchemy
from sqlalchemy import create_engine import pandas as pd SQLALCHEMY_DATABASE_URI = 'postgresql://账号:密码@IP地址:5432/database名' engine = create_engine(SQLALCHEMY_DATABASE_URI) # 直接用pandas去读取,省去了转换的步骤 df = pd.read_sql('''SELECT * FROM schemaA.tableB ''', engine)
使用sqlalchemy
# create connection SQLALCHEMY_DATABASE_URI = 'postgresql://账号:密码@IP地址:5432/database名' engine = create_engine(SQLALCHEMY_DATABASE_URI) # 写入pg库 df.to_sql(schema='schma', con=engine, name = 'table_name', if_exists='replace', index=False)
路遥知马力,
更应砥砺前行
mingxin