如何使用re库或Excel工作表中的任何其他方法将字符串拆分为文本和数字?

2024-10-02 10:32:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要将Excel工作表的第一列转换为整数值。需要删除字符串(例如LP001005,删除LP,然后获取数字的其余部分)

我能够在单个变量上实现这一点。但是,我需要在Excel工作表上实现这一点。我的意思是将整个Excel转换为pandas中的数据框,提取Loan_ID并进行转换(从LP001005中删除LP),然后使用数据框

>>> import re
>>> test_str = "Geeks4321"
>>> print("The original string is : " + str(test_str))
The original string is : Geeks4321
>>> res = [re.findall(r'(\d+)', test_str)[0] ]
>>> print("The tuple after the split of string and number : " + str(res))
The tuple after the split of string and number : ['4321']
>>>

Excel工作表如下所示:

LoanID Name
LP1401 Shubhra
LP1102 Ankit
LP1203 Sowmya

Tags: the数据testrestringisresexcel
2条回答

在Jupyter上试试这个:

import pandas as pd
# open your excel file with pandas with the (read_excel) method:
f= pd.read_excel('Book1.xlsx',sheet_name='Sheet1')
# you may check the content of the first column:
for i in f.iloc[:,0]:
    print(i)
# check the headers names as objects:
f.columns.ravel()
# finally extract the numbers from the first column:
f['LoanID '].str.extract('(\d+)')

您可以使用.extract()方法提取贷款ID的数字部分:

df = pd.DataFrame({'LoanID': 'LP1401 LP2102 LP3203'.split(),
                  'Name': 'Shubhra Ankit Sowmya'.split()})

df['LoanID'] = df['LoanID'].str.extract( r'\w(\d+)', expand=False ).astype(int)

print(df)

   LoanID    Name
0    1401  Shubhra
1    2102    Ankit
2    3203   Sowmya

相关问题 更多 >

    热门问题