只需10行代码就能对Excel文件进行批量去重~

本文介绍如何使用Python的Pandas库对Excel文件中的重复数据进行去除,并保存修改后的数据。包括读取Excel文件、指定列去重、保存最后一个重复数据及批量处理多个Excel文件的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ec7f44d844e0226ac2d87e1d49a59627.png

我今天就来跟大家分享一下:如何实现不同的Excel文件去重,并重新写入~

01

去重

我们使用Pandas库的drop_duplicates(subset=None, keep=‘first’, inplace=False)功能来对Excel文件中的重复项进行删除。

其中,subset参数代表指定列标记,默认当每一条行记录完全相同时,才会认定为重复行;keep=‘’有‘first’、‘last’和‘False’,意思是删除重复行时,保留first还是last还是全部删除,默认参数是‘first’;inplace=‘’有True和Flase,意思是直接替换还是保留副本,默认值是Flase。

01

 读取Excel

import pandas as pd
df = pd.read_excel('全部.xlsx')

d639f30852f408f1b7b084650046380a.png

02

 选中列去重

df.drop_duplicates(['用户名称'])

5b500a5fb1a2578dcca7103065a319f8.png

其中第2、3行的用户名称与第0、1行重复,所以被删除。

03

 保存最后一个重复数据

df.drop_duplicates(['用户名称'],keep='last')

9ef3ea4ca0ecc965ac8990f2a36546c5.png

因为我们设定保存最后一个重复数据,所以删除了第0、1行数据。

04

 保存Excel

df.to_excel('去重后.xlsx')

02

批量获取Excel文件

在上面我们已经学会如何对单个Excel文件去重了,但是在读取文件名的时候,我们还是需要手动输入的,如果文件很多的话,我们要一个一个的输入,这不仅麻烦,而且也不符合自动化办公的名头。所以,我们就需要想办法取得该目录下的所有Excel文件。

这里我们用的是Pathlib库,取得该目录下所有的xlsx格式文件。

path = 'K:\自动化办公'

将该目录下所有文件存储到files列表中,代码如下:

files = []
p = Path(src_path)
for x in p.iterdir():
  if PurePath(x).match('*.xlsx'):
      files.append(x)

03

小结

批量对Excel文件去重的思路是:

1. 获取该目录下所有的Excel文件,并存入一个列表中。

2. 依次循环列表中文件,进行去重。

3. 每去重完一个文件,进行一次保存。

4. 本文仅供学习参考,不做它用。

最后新年来了,说一下我们的新动作

我们理财交流小分队成立了,新的一年来啦,一起提高自己的理财技能,互相切磋抱团取暖,交流信息。去年没有抓住新能源这个大腿,错过一大波的红利,可见信息差有多重要,如何把握热点,如何提高整体的理财策略,如何降低分险,仓位如何控制,都需要好好研究。今年赶紧成了一个小分队,一起共商大计。

目前群里有一些基金高手,有兴趣的可以在后台输入:小助手,找他加入,暗号:基金

00b2210bdb9ea8e6d37e592d5f3de4d3.png

(小助手有可能不定时启动了群确认,先找一下小助手)

推荐阅读:
入门: 最全的零基础学Python的问题  | 零基础学了8个月的Python  | 实战项目 |学Python就是这条捷径
干货:爬取豆瓣短评,电影《后来的我们》 | 38年NBA最佳球员分析 |   从万众期待到口碑扑街!唐探3令人失望  | 笑看新倚天屠龙记 | 灯谜答题王 |用Python做个海量小姐姐素描图 |碟中谍这么火,我用机器学习做个迷你推荐系统电影
趣味:弹球游戏  | 九宫格  | 漂亮的花 | 两百行Python《天天酷跑》游戏!
AI: 会做诗的机器人 | 给图片上色 | 预测收入 | 碟中谍这么火,我用机器学习做个迷你推荐系统电影
小工具: Pdf转Word,轻松搞定表格和水印! | 一键把html网页保存为pdf!|  再见PDF提取收费! | 用90行代码打造最强PDF转换器,word、PPT、excel、markdown、html一键转换 | 制作一款钉钉低价机票提示器! |60行代码做了一个语音壁纸切换器天天看小姐姐!|

年度爆款文案

点阅读原文,看200个Python案例!

### 如何在Excel中查找和删除复的属性值 #### 利用内置功能复项 对于较小规模的数据集,在Excel中可以直接利用其内置的功能来查找和移除复条目。通过点击`数据`选项卡中的`删除复项`按钮,并指定要检查复性的列,能够有效地减少冗余记录[^3]。 例如,如果有一份包含多列信息的工作表,想要依据某一特定字段(如“创建时间”)来进操作,则只需选中该列之后执上述命令即可完成初步清理工作。此过程简单直观,适合不具备编程技能的一般办公人员使用。 #### 应用条件格式高亮显示复单元格 除了直接剔除外,还可以先采用条件格式化的方式标记出所有的复项以便于进一步审查确认后再做决定是否真正需要将其彻底清除掉。具体做法是在目标区域应用预设好的规则让那些符合条件——即存在相同内容——的单元格外形发生变化从而引起注意[^2]。 ```excel =COUNTIF($A$1:$A$100,A1)>1 ``` 这段公式用于定义一个新的条件格式规则,当某内的某个单元格在其所在列中有超过一次出现时就会被突出显示出来,方便人工核验哪些是确实不需要保留下来的副本。 #### VBA宏实现批量自动化处理 针对更复杂的情形或是频繁遇到此类需求的情况来说,编写一段简单的VBA代码可能是更好的解决方案之一: ```vba Sub Remove_Duplicates() ActiveSheet.Range("H1:H11").RemoveDuplicates Columns:=Array(1), Header:=xlYes End Sub ``` 以上脚本会自动选取指定范围内的所有项目并仅留下独一无二的那一部分,大大提高了工作效率的同时也减少了人为误判的可能性[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值