对excel文件批量去重

python3环境
安装openpyxl模块python3 -m pip install openpyxl
最后代码如下

#!python3 -*utf-8*-
import os

#Workbook新建一个xlsx
from openpyxl import Workbook
from openpyxl import load_workbook #load_workbook打开xlsx

wb2 = Workbook()
ws2 = wb2.active

path='C:\\xx\\Desktop\\xx'  #xx文件夹的路径
lists=os.listdir(path)
print(lists)

#提取所有xlsx文件名称
temp=[]
for x in lists:
    prefix,suffix=os.path.splitext(x)
    if(suffix=='.xlsx'):
        temp.append(x)
print(temp)


#把共有的第一行加入ws2
wb = load_workbook(path+'\\'+temp[0])
#print(wb)

sheet = wb['登录动作']
print(wb)
#se存储第8列(主键),不重复的加入ws2,可以根据自己的需求更改第几列,相当于于以第八列为主键去除重复项
se=set()
for x in temp:
    wb = load_workbook(path+'\\'+x)
    sheet = wb["Sheet1"]    #Sheet1为第一张表的名称可以根据自己的需求更改
    
    i=1
    for row in sheet.iter_rows():
        #if(i==1):
            #i+=1
            #continue
        #if row[0].value!=None:
        if row[8].value not in se:
            se.add(row[8].value)
            ws2.append((cell.value for cell in row))
            i+=1
    wb.close()
    print("处理数据完成")  
print(se)
ws2.title="Sheet1"
wb2.save("C:\\xx\\Desktop\\xx\\new.xlsx")

运行结果俺就不展示了。

发布了12 篇原创文章 · 获赞 1 · 访问量 681

猜你喜欢

转载自blog.csdn.net/weixin_44281516/article/details/103456169
今日推荐