10年青少年编程教育经验 | 资深Python专家
前大厂技术总监 | 现编程教育创业者
专注青少年编程教育技能提升

ps:后台回复:“excel课程”获取到目前为止课程的测试文件(失效的话,在留言区留言
)。
今日技能
📱 如何去除excel中的重复数据!
大家有没有在日常工作里遇到小王这样事情。


1️⃣ 未能识别的原因
其实小王自己已经发现excel未能识别重复的原因了,无非就是用来标识是否重复的字段中,有空格以及一些特殊字符。
那我们是不是只要把空格和特殊字符去掉就可以了。
2️⃣ 标准化数据字段
# 处理名字,假设都是中国人import pandas as pdimport redef normalize_name(name):return re.sub(r'[^\u4e00-\u9fa5]', '', name)def normalize_phone(phone):"""标准化手机号格式"""if pd.isna(phone):return ''"""提取数字部分"""phone = re.sub(r'\D', '', str(phone))"""处理不同格式的手机号"""if len(phone) == 11:return phoneelif len(phone) == 13 and phone.startswith('86'):return phone[2:]return phone
✅ 通过 r'[^\u4e00-\u9fa5]' 正则表达式,去除所有非汉字的内容。
✅ 通过 r'\D' 正则表达式,去除所有非数字的内容,同时返回标准的手机号以及将86开头的手机号改为正常的手机号。
📥 第三步:数据去重
接下来,我们只要读取客户的excel文件,然后针对名字列和手机列先做标准化处理。
excel_pd = pd.read_excel('source\p8\客户数据.xlsx')excel_pd['标准化名字'] = excel_pd['客户姓名'].apply(normalize_name)excel_pd['标准化手机'] = excel_pd['手机号'].apply(normalize_phone)#去重excel_pd = excel_pd.drop_duplicates(subset=['标准化名字','标准化手机'],keep='last')print(excel_pd)
执行这段代码后,重复的就被去除了。
方老师说: 🚀 现在屏幕前的你已经比90%的同龄人领先一步了!
接下来可以:
用pandas实现如何进行excel数据格式转换(下期教程教!)
⚠️ 遇到问题?评论区甩截图,方老师尽量在24小时内回复!
关注我们,不错过任何一节课! ✨