想写一段代码,提取出表格第二列的省份或者地市名称,并取结果的倒数第二个放在‘归属’这一列

我有一个EXCEL表格,想写一段代码,提取第二列中每一行文本中出现的省份、地市名称,并把提取出来的内容中倒数第二个名称放在最后一列。
原始的文档是图一这种,图二是想实现的情况图片说明图片说明

我本来是用下面这种方式提取的,但是提取出来以后没办法进一步细分,麻烦大神帮忙想想办法。
quxian_name2 = '山东|青岛|济南'
def re_1(i):
res=re.findall(guishu_name2,i)
return res
####‘文本’是第二列的列名,图片忘记添加
alljob['归属'] = alljob.apply(lambda x: re_1(x['文本']), axis = 1)

首先你需要把Excel载入到python,
因为你没有原始的dataframe
所以我随便做了一个

按行进行正则表达式

如果返回的匹配结果大于1个(2,3,4。。。)
则返回倒数第二个[-1]
如果返回结果小于等于1个(0,1)
则返回“没有归属”
最后append所有行的结果
并赋值给‘归属’列

#%%
import pandas as pd
import re

#%%

df = pd.DataFrame()
#%%

df['B'] = ["山东省,中国23个省之一,简称鲁,省会济南。",\
"位于中国东部沿海北纬34°22.9′-38°24.01′,",\
"东经114°47.5′-122°42.3′之间,自北而南与",\
"河北、河南、安徽、江苏4省接壤。"]
df['归属']=0
#%%

pat = r'山东|济南|河北|河南|安徽|江苏'

guishuall = []

for i in df.index:
    text = df.loc[i,'B']
    guishu = re.findall(pat,text)
    if len(guishu) > 1:

        guishuall.append(guishu[-1])
    else:
        guishuall.append('没有归属')
    print(guishuall)

df['归属'] = guishuall