Datetime对象在尝试将其与其他日期进行比较时返回NoneType

问题描述 投票:0回答:1

我从excel文件中获取了数据并将其存储在列表中。

这是一个片段,它在列表中的样子(有成千上万的条目:):

valid = [[227, 30000, datetime.datetime(2020, 5, 1, 0, 0)], [228, 20000, datetime.datetime(2019, 1, 1, 0, 0)]]

如果我仅打印日期,则返回2020-05-01 00-00-00。

如果我检查类型,则返回类'datetime.datetime'

现在,我只想获取2020年的条目(这里只是一个非常简化的代码):

date_to_compare = datetime.datetime.strptime('2020-01-01', '%Y-%m-%d')
for each in valid:
    if each[2] >= date_to_compare:
        print(each)

我收到TypeError:“ NoneType”和“ datetime.datetime”的实例之间不支持“>”

以某种方式进行比较,Python将Excel中的datetime对象视为NoneType。

任何人都可以帮忙!谢谢。

我从excel文件中获取了数据,并将其存储在列表中。这是一个清单清单中的代码片段(有成千上万的条目):有效= [[227,30000,datetime.datetime(2020,5,1,0,0)],[...

python excel compare datetime-format
1个回答
0
投票

数据集中的某些日期可能格式不正确或丢失。要解决该错误,请尝试以下操作:

date_to_compare = datetime.datetime.strptime('2020-01-01', '%Y-%m-%d')
for each in valid:
    try:
        if each[2] >= date_to_compare:
            print(each)
    except TypeError:
         print(each)
© www.soinside.com 2019 - 2024. All rights reserved.