如何利用Regex在Pandas列中提取源数据的实体与属性
从Pandas文本列提取
实体.属性格式的实体属性对 需求
从Pandas DataFrame的文本列中,提取符合实体.属性(即entity.attribute)模式的内容。
源数据
import pandas as pd df = pd.DataFrame({'txt': [" if ENT_A.COL_A <> NULL then 55787-3 Then abcd.col_b derivation trf , Else NULL EF_kl.COL_d is populated"]})
解决方案
使用Pandas字符串方法结合正则表达式实现提取:
# 正则中点号需转义,确保仅匹配实际的"."符号 df['txt'].str.findall(r'\w+\.\w+').str.join(", ")
运行结果
ENT_A.COL_A,abcd.col_b,EF_kl.COL_d
代码说明
str.findall(r'\w+\.\w+'):通过正则匹配所有符合[字母/数字/下划线].[字母/数字/下划线]格式的片段,精准定位实体.属性结构str.join(", "):将匹配到的多个结果拼接为逗号分隔的字符串
内容的提问来源于stack exchange,提问作者kmr
相关产品推荐
相关产品推荐

