从Dataframe列的逗号分隔字符串中提取数据库名和表名到两列的方法如下:
import pandas as pd
# 创建Dataframe对象
df = pd.DataFrame({'column_name': ['database1.table1, database2.table2, database3.table3']})
# 定义函数来提取数据库名和表名
def extract_names(row):
names = row.split(',') # 使用逗号分隔字符串
db_names = []
table_names = []
for name in names:
name_parts = name.strip().split('.') # 使用点号分隔数据库名和表名
if len(name_parts) == 2:
db_names.append(name_parts[0])
table_names.append(name_parts[1])
else:
db_names.append('')
table_names.append('')
return pd.Series({'database_name': ','.join(db_names), 'table_name': ','.join(table_names)})
# 应用函数到Dataframe的列中
df[['database_name', 'table_name']] = df['column_name'].apply(lambda x: extract_names(x))
print(df)
输出结果:
column_name database_name table_name
0 database1.table1, database2.table2, database3.table3 database1,database2,database3 table1,table2,table3
这样,我们成功从Dataframe列的逗号分隔字符串中提取了数据库名和表名,并将它们存储到了两个新的列中。
领取专属 10元无门槛券
手把手带您无忧上云