提取长字符串之间的值

时间:2019-08-06 10:18:56

标签: python pandas

我正在尝试从其中一列中的较长字符串中提取字符串。

以下是我尝试过的示例:

df['Campaign'] = df.full_utm.str.extract('utm_campaign=([^&]*)')

这是我所指的字符串的示例:

?utm_source=Facebook&utm_medium=CPC&utm_campaign=April+Merchants+LAL+-+All+SA+-+CAP+250&utm_content=01noprice

问题在于,这只会返回以下内容:

A

在这种情况下,所需的输出将是

April+Merchants+LAL+-+All+SA+-+CAP+250

1 个答案:

答案 0 :(得分:3)

使用urlparse

例如:

import urllib.parse as urlparse

df['Campaign'] = df["full_utm"].apply(lambda x: urlparse.parse_qs(urlparse.urlparse(x).query)["utm_campaign"]) 
print(df)