分隔符字符串拆分

我有一个数据集,其中某些值由'\ n'分隔,而某些值由'\ n \ n'分隔。我已经写了一些分别适用于每种情况的代码,但我想知道是否有一种方法可以同时包含这两个定界符,以便将它们分隔为“ \ n”还是“ \ n \ n”。在当前设置下,它会引发错误“列的长度必须与键的长度相同”。

代码:

temp = result['personal_info'].str.replace(' -- ','|').str.split('|',expand = True)
temp[[1,4]] = temp[1].str.split('\n',expand = True)
temp = temp.rename(columns={0: "occupation",1: "country",2: "employer_type",3: "race",4: "relationship_status"})
final_df = result
final_df = pd.concat([final_df,temp],axis=1,sort=False)
final_df = final_df.drop('personal_info',axis=1)

此代码适用于'\ n',如果我将其更改为'\ n \ n',则适用于'\ n \ n'。

样本输入:

  

“专长|美国\ n \ n未婚-当地政府|白人”

     

“专长|美国\未婚-地方政府|白人”

wxp1818118 回答:分隔符字符串拆分

您可以将regex与Pandas分开使用:

temp[[1,4]] = temp[1].str.split('\n+',expand = True)

如果至少有一个\n,则会拆分。

本文链接:https://www.f2er.com/2921903.html

大家都在问