我想在两个表上执行减号操作,如下面的代码。SELECT column_list_1FROM T1MINUS SELECT column_list_2FROM T2;这是发生迁移之后的情况。我有这两个数据库,我已经这样连接了:import cx_Oracleimport pandas as pdimport pypyodbcsource = cx_Oracle.connect(user, password, name)df = pd.read_sql(""" SELECT * from some_table """, source)target = pypyodbc.connect(blah, blah, db) df_2 = pd.read_sql(""" SELECT * from some_table """, target) 如何使用查询在 python 中对源数据库和目标数据库运行减号操作?
2 回答
白板的微信
TA贡献1883条经验 获得超3个赞
选择其中之一:
使用 Python 在两个结果集之间执行“手动”减运算。
通过 dblink 使用 Oracle。在这种情况下,您不需要从 Python 打开两个连接。
拉莫斯之舞
TA贡献1820条经验 获得超10个赞
如果你有一个数据库链接,那么你可以做一个减号,或者你可以使用 Pandas 的合并。
df = pd.read_sql(""" SELECT * from some_table """, source)
df_2 = pd.read_sql(""" SELECT * from some_table """, target)
df_combine = df.merge(df2.drop_duplicates(),how='right', indicator=True)
print(df3)
df_combine 中将创建一个新列 _merge,其中包含值(数据框中都存在的行)和 right_only(数据框 df 中的行)。
以同样的方式,您可以加入左合并。
添加回答
举报
0/150
提交
取消