需要在pandas数据帧中提取两个字符串之间的所有内容

时间:2017-06-26 03:03:38

标签: pandas dataframe text-extraction data-extraction

我在pandas数据框中有数据。我需要提取以“Impact Factor:”开头并以“&#”结尾的字符串之间的所有内容。如果内容没有“影响因子:”我想在数据帧的那一行中使用null

这是来自单行的示例数据。

在线保存至EndNote&#添加到标记结果列表&##影响因子:期刊2和引文报告500&#其他信息&#IDS编号:EW5UR&#

我希望数据框中的内容如下所示。 期刊2和引文报告500 期刊6和引文报告120 期刊50和引文报告360 期刊30和引文报告120

1 个答案:

答案 0 :(得分:0)

您好,您可以在这里使用正则表达式:

result = your_df.your_col.apply(lambda x: re.findall('Impact Factor:(.*?)&#',x))

您可能也想要剥离空格,在这种情况下您可以使用:

result = your_df.your_col.apply(lambda x: re.findall('Impact Factor:\s*(.*?)\s*&#',x))