如何使用Python提取Excel单元格括号内的整数值并存储到变量
实现方案
你的单元格内容为「名称(数字)」格式的字符串,通过正则匹配即可提取括号内的整数值,单条取值、批量处理的代码如下:
import pandas as pd import re # 读取源文件 df = pd.read_csv("data.csv") # 提取单个单元格内的整数值 raw_content = df['Birds'].iloc[0] target_num = int(re.search(r'\((\d+)\)', raw_content).group(1)) # 批量提取整列所有数字,生成新列存储 def get_num(text): match_result = re.search(r'\((\d+)\)', str(text)) return int(match_result.group(1)) if match_result else None df['extracted_num'] = df['Birds'].apply(get_num) # 按行获取对应整数的示例(假设10、12、2分别对应第0、1、2行) num_10 = df['extracted_num'].iloc[0] num_12 = df['extracted_num'].iloc[1] num_2 = df['extracted_num'].iloc[2]
规则说明
- 正则表达式
\((\d+)\)的作用是匹配被左右括号包裹的连续数字,group(1)直接返回括号内的数字字符串,转成int类型即可直接用于数值计算 - 封装的
get_num函数增加了空匹配判断,避免部分单元格无对应格式时触发报错
内容的提问来源于stack exchange,提问作者malu
相关产品推荐
相关产品推荐

