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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM