UPDATE:如何解析表名称:
In [100]: df2['TableName'] = df2.CreateString.str.extract('\s+(\w+\.\w+)\s+', expand=True)
In [101]: df2
Out[101]:
CreateString DatabaseName TableName
0 None NaN NaN
1 None NaN NaN
2 None NaN NaN
3 CREATE VIEW DB1.Table1 AS LOC… DB1 DB1.Table1
4 None NaN NaN
5 REPLACE VIEW DB3.Table3 ... DB3 DB3.Table3
6 CREATE VIEW DB3.Table10 AS SELE... DB3 DB3.Table10
7 CREATE VIEW DB55.Table999 AS SELEC... DB55 DB55.Table999
原始答案:
您可以这样操作:
In [83]: df2['DatabaseName'] = df2.CreateString.str.extract('\s+(\w+)\.\w+\s+', expand=True)
In [84]: pd.merge(df2, df1, on='DatabaseName', how='left')
Out[84]:
CreateString DatabaseName DatabaseID
0 None NaN NaN
1 None NaN NaN
2 None NaN NaN
3 CREATE VIEW DB1.Table1 AS LOC… DB1 0.0
4 None NaN NaN
5 REPLACE VIEW DB3.Table3 ... DB3 2.0
6 CREATE VIEW DB3.Table10 AS SELE... DB3 2.0
7 CREATE VIEW DB55.Table999 AS SELEC... DB55 NaN