我有两个数据集,我从Teradata中提取Pandas DataFrames。
tables=pd.DataFrame(session.execute("select databasename as source_db, tablename as source_obj, databasename||'.'||tablename as full_tablename, tablekind as source_obj_kind from dbc.tables").fetchall()).set_index('databasename')
tvm=pd.DataFrame(session.execute("select tvmname target_obj, tablekind target_obj_kind, createtext from dbc.tvm").fetchall()).set_index('createtext')
我正在尝试在这两个项目之间运行一个等同于以下语法(teradata sql)的连接:
tvm.createtext like '%"' !! trim (tables.source_db) !! '"."'!! trim (tables.source_obj)!! '"%' (not cs)
在外行人的术语中,表格中的full_databasename(source_db ||'。'|| source_obj)位于tvm的createtext列内,创建一个新的数据帧。
我正在努力避免编写两个语句,这些语句将检查表中的每一行,并手动将其与tvm中的每一行进行比较。
谢谢!