python - 如何在两个不同的服务器(python)中查询两个表?
问题描述
我遇到了以下问题:
我在单独的表中有两个不同的服务器:带有表“A”的 Oracle 和带有表“B”的 PostgreSQL。
我正在尝试通过python制作一个程序,它将这两个表连接起来并将结果写入csv文件。
最好的方法是什么?(将表从一个数据库导入到另一个数据库?在数据库之外进行 JOIN?)
很高兴得到您的帮助!
解决方案
import cx_Oracle
from sqlalchemy import create_engine
import pandas as pd
engineORACLE = create_engine('oracle://user:password@ip:1521/ORACLE_SERVIVE_NAME')
enginePOSTGRE = create_engine('postgresql://user@lip:5432/mydb')
df1 = pd.read_sql_query('select * from tableA', con=engineORACLE)
df2 = pd.read_sql_query('select * from TableB',con=enginePOSTGRE)
dfcombined = df1.merge(df2, on='blabla', how='left') # for left outer join, you can also do, 'right', 'outer' or 'inner' (change 'blabla' with the key!)
像这样的东西?