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

如何在OpenRefine中使用GREL保留单元格中的数字

提取单元格中的纯数字方案

Excel 实现方式

方法1:TEXTBEFORE函数(适合Excel 365/2021及以上版本)

在目标单元格输入公式:
=TEXTBEFORE(A1,CHAR(1),,TRUE)
下拉填充即可自动提取每个单元格开头的数字部分,不管后面跟着什么文本。

方法2:Power Query正则提取

  1. 选中数据所在列,点击「数据」选项卡 →「从表格/范围」导入Power Query编辑器
  2. 选中目标列,点击「转换」选项卡 →「提取」→「匹配模式」
  3. 在弹出窗口中输入正则表达式 ^\d+\.?\d*,点击确定,即可得到纯数字结果。

Python 实现方式

如果用代码批量处理,借助正则表达式可以快速完成:

import re

# 模拟原始数据
raw_data = ["5.6", "4", "5years", "6years"]
# 提取每个元素中的开头数字
cleaned_data = [re.search(r'^\d+\.?\d*', item).group() for item in raw_data]
# 输出结果
print('\n'.join(cleaned_data))

运行后输出:

5.6
4
5
6

核心逻辑说明

不管用哪种工具,核心都是用正则规则 ^\d+\.?\d* 匹配开头的数字部分:

  • ^:限定从字符串开头匹配
  • \d+:匹配1个及以上的整数部分
  • \.?:匹配可选的小数点(支持小数)
  • \d*:匹配小数点后可选的数字(支持整数或小数)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 22:30:48