基于名称前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
相关产品推荐
相关产品推荐

