Python学习笔记_读Excel去重

读取一个Excel文件,按照某列关键字,如果有重复则去掉

这里不介绍所有的解决办法,只是列出一个办法。

软件环境:

      OS:Win10 64位

      Python 3.7

     测试路径:D:\Work\Python

     测试的Excel文件:Test1.xlsx

   

参考代码:

#! -*- coding utf-8 -*-
#! @Time  :2019/3/03 
#! Author :Frank Zhang
#! @File  :ExcelProcess.py
#! Python Version 3.7

import xlrd
import xlwt

def main():
    workbook = xlrd.open_workbook(r'D:\work\Python\Test1.xlsx')
    sheet1 = workbook.sheet_by_name('Sheet1')

    rows = sheet1.row_values(0) # 获取第一行内容
    cols = sheet1.col_values(0)  #获取第1列的内容
    max_row=len(cols)
    max_column=len(rows)
    
    #第一列关键字,如果重复则去掉
    old_List=sheet1.col_values(0)
    last_List=[]

    wb = xlwt.Workbook()
    sheet2 = wb.add_sheet(u'Sheet1')

    iRow=-1
    for i in range(max_row):
        for j in range(max_column):
            if j==0:
                if old_List[i] in last_List:                        #如果已有,则退出for循环,不增加重复数据
                    break                                   
                else:
                    iRow=iRow+1
                    last_List.append(old_List[i])                   #没有,则把关键字添加到列表中
                    sheet2.write(iRow,j,sheet1.cell(i,j).value)
            else:
                 sheet2.write(iRow,j,sheet1.cell(i,j).value)
             
    wb.save("Test2.xls")
    print("Process is over.")
    
if __name__=="__main__":
    main()

 

转载于:https://www.cnblogs.com/SH170706/p/10466228.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值