You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python从字符串提取多数字:拆分Excel工作经验为年月列及报错解决

解决Work_Experience列提取年份和月份的问题及语法错误修复

错误原因分析

你之前的代码报错SyntaxError: unexpected character after line continuation character,核心问题有两个:

  1. 正则表达式未用引号包裹,Python无法识别为合法字符串
  2. 正则语法完全错误,\(\d+)的写法不符合匹配需求,且转义符使用混乱

正确实现代码

针对Work_Experience列如「6 Year(s) 1 Month(s)」的格式,使用带原始字符串标记(r前缀)的正则表达式精准捕获年份和月份数字:

Test[['Year', 'Month']] = Test['Work_Experience'].str.extract(r'(\d+) Year\(s\) (\d+) Month\(s\)')

代码说明

  • r'...':原始字符串前缀,避免转义字符被Python提前解析,让正则引擎直接处理\(这类符号(匹配字符串里的括号)
  • (\d+):两个分组分别捕获年份和月份的数字,str.extract会自动把分组结果对应到Year和Month列中
  • 如果需要兼容部分行只有年份或只有月份的情况,可以用可选分组的正则:
Test[['Year', 'Month']] = Test['Work_Experience'].str.extract(r'(?:(\d+) Year\(s\))?\s*(?:(\d+) Month\(s\))?')

这个版本会给缺失的年份/月份填充NaN,适配更复杂的数据情况

内容的提问来源于stack exchange,提问作者RajatKapoor350

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 01:50:20