对excel文件批量去重

穿精又带淫゛_ 提交于 2019-12-09 14:52:50

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")

运行结果俺就不展示了。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!