使用插入排序法,對資料進行排序。
1 2 3 4 5 6 7 8 910111213141516171819202122232425262728293031323334
import openpyxl# 讀取EXCEL檔案。wb = openpyxl.load_workbook("D:\\Train\\Datainsertionsort.xlsx")# 讀取工作表。Sheet = wb['Data']#調整Excel欄位宽度。def Insertion_Sort(): #設定起始欄位。 # 讀取A這一行,判斷A有幾排使用。 colummn = Sheet['A'] # Len為列的長度。 Len = len(colummn) #將所有筆數跑過一次。 for x in range(2,Len): #插入排序法,將原位置和原位置加1的位置做比較,若原位置數較大和原位置加1後位置交換。 #原位置數較大和原位置加1後位置交換,在往回找是否有比原位置加1更大,有的話進行交換。 for i in range(x,1,-1): #判斷原位置和原位置+1的位置數值較大進行交換。 if Sheet.cell(row=i, column=4).value[:3] > Sheet.cell(row=i+1, column=4).value[:3]: #先將原位置放到temp。 temp=Sheet.cell(row=i, column=4).value #原位置的值等於原位置+1的位置值。 Sheet.cell(row=i, column=4).value=Sheet.cell(row=i+1, column=4).value #原位置+1的位置,等於Temp。 Sheet.cell(row=i+1, column=4).value=temp ##判斷原位置和原位置+1的位置數值較小中止。 elif Sheet.cell(row=i, column=4).value[:3] < Sheet.cell(row=i+1, column=4).value[:3]: break wb.save("D:\\Train\\Datainsertionsort.xlsx")if __name__ == '__main__': Insertion_Sort()
結果:
近期所使用Ubuntu系統24小時開著,進行跑Python程式使用,但跑個2~3天,排程就無法正常寄信,SSH連線也無法正常連線,經查看後為wifi連線問題,暫先使用腳本排程進行重開wifi。 以下為記錄Journalctl指令。 使用Journalctl來從系統日誌上查看看問...
沒有留言:
張貼留言