使用python对文件夹里的所有表格合并且去重

有的时候,我们需要将多张表格合并并去重
假如,我们需要将存放在E盘中table文件夹里的三张表格table01.xlsx,table02.xlsx,table03.xlsx合并并去重到文件merge_table.xlsx中
table01:
使用python对文件夹里的所有表格合并且去重_第1张图片
table02:
使用python对文件夹里的所有表格合并且去重_第2张图片
table03:
使用python对文件夹里的所有表格合并且去重_第3张图片
整体思路:
遍历文件夹里excel文件——将读取后的文件数据加入到列表中——使用pd.concat()方法将列表加入其中合并所有数据——使用data.drop_duplicates()对合并后的数据去重——建立新的excel文件——将去重后的数据转化为dataframe格式后储存到excel文件中——保存文件
代码如下:

import pandas as pd
import os
os.chdir('E:\\origin_file\\table')
list=[]   #建立新列表
#1.遍历目标文件夹
for root,dirs,files in os.walk('./'):
	for file in files:
#2.读取excel文件
        data=pd.read_excel(file)
#3.将excel文件加入到新建列表中
        list.append(data)
#4.合并
merge_data=pd.concat(list,axis=0)
#pd.concat()第一个参数为连接对象,格式为列表,axis=0为连接方向,这里等于0表示水平方向连接(默认也是0),等于1表示垂直方向
#更多参数可查看博文https://blog.csdn.net/smf1208/article/details/110726271
#5.去重
merge_quchong=merge_data.drop_duplicates(subset=['filename'],keep='first',inplace=False)
#data.drop_duplicates的参数subset=['filename']表示需要去重的列名,这里是需要去重“filename”字段;keep='first'表示保留第几次出现的重复行,删除后面的重复行,这里是保留第一次出现的行(默认也是‘first’);inplace=False表示是否删除所有重复项,这里表示是(默认也是'False')
#详细内容可查看https://zhuanlan.zhihu.com/p/116884554
#6.转化为dataframe格式
df=pd.DataFrame(merge_quchong)
#7.建立excel文件
writer=pd.ExcelWriter('./merge_table.xlsx')
#8.储存到excel文件
df.to_excel(writer,'sheet1',startcol=0,index=False)
#9.保存文件
writer.save()

merge_table:
使用python对文件夹里的所有表格合并且去重_第4张图片知识点:
1.遍历文件夹
2.合并
3.去重
4.保存
创作不易,请大家多多点赞,收藏,关注,支持一下!陆续博主将有更多详细实用的教程推出!

你可能感兴趣的:(表格处理,python,开发语言,后端)