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

菜鸟学Python

共 2023字,需浏览 5分钟

 ·

2022-01-21 01:51



我今天就来跟大家分享一下:如何实现不同的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')


02

 选中列去重


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

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


03

 保存最后一个重复数据


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

因为我们设定保存最后一个重复数据,所以删除了第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. 本文仅供学习参考,不做它用。



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

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

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

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




推荐阅读:

入门: 最全的零基础学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案例!

浏览 19
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报