2021年11月13日 星期六

Python-Openpyxl_判斷特定資料進行刪除列

 Excel資料量大時,整理需要刪除特定的列,單純情況下用篩選刪除,若需判斷多行資料或反覆性需做整理動作,可使用Openpyxl 中的delete.rows(列)


delete.rows() 此動作會讓下列往上補齊,固從第一排開始刪,若資料中有多個特定需刪除的列,會因補齊關係,會沒刪到。


 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
import openpyxl

def DelData():
# 讀取EXCEL檔案。
wb = openpyxl.load_workbook("D:\\Train\\DataDelRow.xlsx")
# 讀取工作表。
Sheet = wb['Data']
#讀取A這一行,判斷A有幾排使用。
colummn = Sheet['A']
#X為列的長度。
x=len(colummn)
#從資料的最後一列開始尋找及針對特定資料進行刪除。
while True:
# 當第列為1時中斷。
if x == 1:
break
#第三行的資料為F,整列刪除。
if Sheet.cell(row=x, column=3).value == 'F':
#刪除列delete_rows(列)
Sheet.delete_rows(Sheet.cell(row=x, column=3).row)
x = x - 1
wb.save("D:\\DataDelRow_OK.xlsx")

if __name__ == '__main__':
DelData()


結果:  







沒有留言:

張貼留言

Ubuntu-Journalctl查看系統日誌

 近期所使用Ubuntu系統24小時開著,進行跑Python程式使用,但跑個2~3天,排程就無法正常寄信,SSH連線也無法正常連線,經查看後為wifi連線問題,暫先使用腳本排程進行重開wifi。 以下為記錄Journalctl指令。 使用Journalctl來從系統日誌上查看看問...