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

 

posted on 2019-03-03 16:36  天道酬勤2016  阅读(2155)  评论(0编辑  收藏  举报