如果單元格包含當前月份,則洗掉該行。
例如在Excel作業表,前:
2021年3月11日ROW1 row11
25/10/2021 ROW2 row22
30/10/2021 ROW3 row33
2021年2月11日ROW4 row44
30/10/2021 ROW5 row55
2021年1月11日ROW6 row66
30 /10/2021 row7 row77
之后:
25/10/2021 row2 row22
30/10/2021 row3 row33
30/10/2021 row5 row55
30/10/2021 row7 row77
我試過這個腳本:
from openpyxl import load_workbook
from datetime import date
wb = load_workbook('file1.xlsx')
ws = wb['Sheet1']
x = ws.max_row
y = ws.max_column
current_month=date.today().month
for r in range(1, x 1):
for j in range(1, y 1):
d=ws.cell(row=x 1-r,column=j)
if d.is_date and d.value.date() == current.month:
ws.delete_rows(x 1-r)
break
wb.save("file2.xlsx")
但什么也沒有發生。如果我更改為if d.is_date and d.value.date() != current.month:,則洗掉所有行。我必須在哪里糾正?
uj5u.com熱心網友回復:
我假設日期不“等于”它的月份。所以你可能應該這樣做:
if d.is_date and d.value.date().month == current.month:
...
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/347846.html
