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')
选中列去重
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. 本文仅供学习参考,不做它用。