python从excel中的某一列提取出其中的5-7位,并判断提取出来的最后一位是数字还是字母,如果是字母则删除最后一位
时间: 2024-02-20 13:01:23 浏览: 128
实例3:python 删除excel中的多余列
你可以在前面提取出5-7位的基础上,判断最后一位是数字还是字母,如果是字母,则使用切片操作将最后一位删除。具体代码如下:
```python
import pandas as pd
import re
# 读取Excel文件
df = pd.read_excel('your_file_path.xlsx')
# 提取指定列的字符串中的5-7位
pattern = re.compile(r'\b(\w{4})(\w{3})\b')
df['extracted'] = df['column_name'].apply(lambda x: re.findall(pattern, str(x))[0][1])
# 判断最后一位是数字还是字母,并删除最后一位
df['extracted'] = df['extracted'].apply(lambda x: x[:-1] if not x[-1].isdigit() else x)
# 输出结果
print(df)
```
在上面的代码中,我们首先使用之前提到的代码提取出了5-7位的字符串,并将其存储在`extracted`列中。然后,使用`apply`函数对每个单元格进行判断,如果最后一位是字母,则使用切片操作将其删除,否则不做改变。最后,将处理后的结果输出。
阅读全文