Вы можете использовать Панд в качестве клея между двумя базами данных.Например,
import config
import pandas as pd
import sqlalchemy as SA
engine_postgresql = SA.create_engine('postgresql+psycopg2://{u}:{p}@{h}/{d}'.format(
u=PGUSER, p=PGPASS, h=PGHOST, d='pgtest'))
engine_mysql = SA.create_engine('mysql+mysqldb://{u}:{p}@{h}/{d}'.format(
u=MYUSER, p=MYPASS, h=MYHOST, d='mytest'))
sql = 'SELECT col1, col2, col3 FROM tableA'
df1 = pd.read_sql(sql, con=engine_postgresql)
sql = 'SELECT col1, col2, col4 FROM tableB'
df2 = pd.read_sql(sql2, con=engine_mysql)
result = pd.merge(df1, df2, how='left', on=['col1', 'col2'])
pd.read_sql
передает запрос SQL в базу данных и возвращает DataFrame. pd.merge объединяет два DataFrames и возвращает DataFrame.
DataFrames также можно вставлять в базы данных в виде таблиц, используя метод to_sql
.Например,
result.to_sql('tablename', engine_postgresql, if_exists='append')