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

基于名称前3字符结尾为G的数据过滤方法咨询

提取Name列中前3字符以G结尾的数据的方法

根据你的需求(匹配XXG_XXXX格式的数据,比如GRG_2314),下面是不同常用工具里的实现方法:

Excel/Google Sheets

  • 直接筛选法:打开筛选功能后,在Name列的筛选框里选择「文本筛选」→「自定义筛选」,输入匹配规则 ??G_*,其中?代表单个任意字符,*代表任意长度字符。
  • 公式判断法:新增辅助列,输入公式 =RIGHT(LEFT(A2,3),1)="G"(A2是Name列的第一个数据单元格),公式会返回TRUE或FALSE,筛选TRUE的行即可。
    • LEFT(A2,3):提取单元格的前3个字符
    • RIGHT(...,1):取这3个字符的最后一位
    • 对比是否等于G,得到判断结果

SQL

不同数据库方言的语法略有差异,但核心逻辑一致:

  • 用字符串截取函数:
    SELECT * FROM 你的表名
    WHERE RIGHT(LEFT(Name, 3), 1) = 'G';
    
    • LEFT(Name,3):获取Name字段的前3个字符
    • RIGHT(...,1):取这3个字符的最后一位,判断是否为G
  • 用LIKE模糊匹配:
    SELECT * FROM 你的表名
    WHERE Name LIKE '??G_%';
    
    这里?匹配单个任意字符,_在LIKE里是单个字符通配符,所以??G_正好匹配前4位是XXG_的格式,后面的%匹配任意后续字符。

Python Pandas

如果你用Pandas处理数据集,可以用字符串方法快速筛选:

  • 用endswith方法:
    import pandas as pd
    df = pd.read_csv('你的数据文件.csv')
    filtered_df = df[df['Name'].str[:3].str.endswith('G')]
    
    • df['Name'].str[:3]:提取每个Name值的前3个字符
    • .str.endswith('G'):判断这些前3位字符是否以G结尾
  • 用正则表达式匹配:
    filtered_df = df[df['Name'].str.match(r'..G_\d{4}')]
    
    正则..G_\d{4}精准匹配「两个任意字符+G+下划线+四位数字」的格式,和你给出的示例完全对应。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 07:37:00