我很难从字符串中提取 ID 号。
我可以使用索引来获取它,但是对于数据帧的其他行它会失败。
如何以适用于所有行的方式提取 campaignid=351154190
唯一的模式是单词 campaignid ,需要提取并存储在数据帧的新列中。性能在此任务中并不重要。
原始字符串

https:_utm_source=googlebrand&utm_medium=ppc&utm_campaign=brand&utm_campaignid=3
51154190&keyword=aihdisadjiajdutm_matchtype=e&device=m&utm_network=g&utm_adposit
ion=1t1&geo=9027258&gclid=CjwKCsadjjsaopdl[psdklksfdosjfidj9FOk033DKW1xoCXlwQAvD
_BwE&affiliate_id=asdaskdosjadiasjdisaj-asdhasuigdyusagdyusagyk033DKW1xoCXlwQAvD_BwE&utm_content=search&utm_contentid=1251489456158180&placement&extension
拆分字符串x= cw.captureurl.str.split('&').str[:-1]打印一行print(x[25])
['https:_utm_source=googlebrand', 'utm_medium=ppc', 'utm_campaign=brand',
'utm_campaignid=35119190', 'keyword=co',
 'utm_matchtype=e', 'device=m', 'utm_network=g', 'utm_adposition=1t1',
 'geo=9027258', 'gclid=CjwKCAjwnMTqBRAzEiwAEF3ndo3-
CNOsp1VT5OIxm0BuUcSWQEwtJSR5KLiJzrvjjc9FOk033DKW1xoCXlwQAvD_BwE',
 'affiliate_id=CjwKCAjwnMTqBRAzEiwAEF3ndo3-
CNOsp1VT5OIxm0BuUcSWQEwtJSR5KLiJzrvjjc9FOk033DKW1xoCXlwQAvD_BwE',
'utm_content=search', 'utm_contentid=1211732930', 'placement']

如果我可以使用可以搜索“campaignid”这个词的东西(我的目标是什么),那就太好了
然后将其存储在某个数据帧的另一列中。
我尝试在拆分后进行拆分,但没有用
我尝试将 for 循环与 if 语句一起使用,但也没有用。

最佳答案

使用正则表达式:

campaign_id = cw['captureurl'].str.extract('campaignid=(\\d+)')[0]

10-08 08:13
查看更多