繁体   English   中英

如何从括号内的字符串中提取字符?

[英]How to extract the characters from a string that are inside parentheses?

DataFrame图片:

我在DataFrame中有一列名为Contracting的列,另一列为Contractor。

例如,我需要将列承包商分解为2个新列:一列包含括号内的财务编号,另一列包含所有其余内容(描述)。

例:

Contractor: Meo(504615947)

我需要它变成:

Contractor_Name: Meo and Contractor_Number:504615947

我试图这样做:

proc_2013[['contractor_description', 'contractor_NIF']]= pd.DataFrame(proc_2013['contractor'].str.split(('('),1).tolist())

proc2013['contractor_NIF'] = proc2013.contractor_NIF.str.extract('(\d+)')  

问题一:

我也可以在括号内输入名称说明,然后输入要提取的数字。

问题2:

有时,如果承包商来自国外,则在财政编号的开头有一个字母(不仅是我最初假设的编号,使用第二行代码)。

所有财务编号都有9位数字。

对于任何字母数字,您都可以将\\d更改为\\w

proc2013['contractor_NIF'] = proc2013.contractor_NIF.str.extract('\((\w+)\)')  

据我所能理解的您的问题,这可能是一个可能的解决方案,

df['contractor_name']=list(map(lambda x : x.split('(')[0],df['con']))
df['contractor_number']=list(map(lambda x : x.split('(')[-1][-10:-1],df['contractor']))

希望这可以帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM