[英]Comparing dates in Python using openpyxl
在下面的代码中,我试图比较 excel 中一列中的日期,但出现此错误:2022-03-18 10:18:16' 不匹配格式 '%Y-%d-%m %H:%多发性硬化症'
for i in sheet2['G']:
if i.value=='Transaction Time':
sheet2['G1']='Transaction Time'
elif i.value=='None':
sheet2.delete_rows(i.row)
elif datetime.datetime.strptime(str(i.value),'%Y-%m-%d %H:%M:%S')<date1:
sheet2.delete_rows(i.row)
elif datetime.datetime.strptime(str(i.value),"%Y-%d-%m %H:%M:%S")>date2:
sheet2.delete_rows(i.row)
我猜只是一个错字
elif datetime.datetime.strptime(str(i.value),'%Y-%m-%d %H:%M:%S')<date1:
sheet2.delete_rows(i.row)
elif datetime.datetime.strptime(str(i.value),"%Y-%d-%m %H:%M:%S")>date2:
sheet2.delete_rows(i.row)
你的第一个很好%Y-%m-%d %H:%M:%S
但第二个,你颠倒了日期和月份格式"%Y-%d-%m %H:%M:%S"
最后,我只用了几行代码就搞定了。
我删除了日期上的时间,以便于与这些代码进行比较:
for i in sheet2['G']: for r in range (2,mr2+1): i.value= str(i.value)[0:10] sheet2['G1']='Transaction Date'
有了这个成功,我就可以使用以下方法过滤我想要的任何日期:
for i in sheet2['G']: if str(i.value):=date1. sheet2.delete_rows(i.row)
其中 date1 是我可以修改的变量,或者应用程序用户可以修改以获得感兴趣的任何一天。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.