讀取一個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()