Python-从DataFrame中的文本变量中提取特定的文本部分



我正试图从我的"文本";变量,需要一些帮助!

我有当前的DataFrame:

file_path> 文件名 文本
/Users/user/Dropbox/SEC调查 _0000886982_18795_2687.txt 0000950123-11-059690.txt:20110…
/Users/user/Dropbox/SEC调查 _0001068875_16706-4152.txt 0001193125-05-191846.txt:20050…

您可以使用

pattern = r'bItems+5.02s*([wW]*?)(?=s*(?:Items+[89].01|SIGNATURES)b)'
pd_00['important_text'] = pd_00['text'].str.findall(pattern)

如果你需要每个记录一个匹配:

pattern = r'bItems+5.02s*([wW]*?)(?=s*(?:Items+[89].01|SIGNATURES)b)'
pd_00['important_text'] = pd_00['text'].str.extract(pattern, expand=False)

请参阅regex演示。

详细信息

  • b-字边界
  • Item-一个固定字
  • s+-一个或多个空白
  • 5.02-5.02字符串
  • s*-零个或多个空白
  • ([wW]*?)-组1:零个或多个尽可能少的字符
  • (?=s*(?:Items+[89].01|SIGNATURES)b)-一个积极的前瞻性,需要(立即在当前位置的右侧(:
    • s*-零个或多个空白
    • (?:Items+[89].01|SIGNATURES)-Item,一个或多个空白,89,然后是.01SIGNATURES
    • b—字边界

最新更新