如何检查字符串中的日期是否大于给定日期?Python 3

如何检查字符串中的日期是否大于给定日期?Python 3,python,Python,因此,我有一个CSV用户文件,格式如下: "Lastname, Firstname account_last_used_date" 我尝试了dateutil解析器,但它指出此列表是无效字符串。我需要把名字和日期放在一起。我也尝试过datetime,但我遇到了datetime未定义的问题。我对Python非常陌生,所以如果我错过了一个简单的解决方案,请原谅我 import re from datetime import date with open("5cUserReport.csv","r"

因此,我有一个CSV用户文件,格式如下:

"Lastname, Firstname account_last_used_date"
我尝试了dateutil解析器,但它指出此列表是无效字符串。我需要把名字和日期放在一起。我也尝试过datetime,但我遇到了datetime未定义的问题。我对Python非常陌生,所以如果我错过了一个简单的解决方案,请原谅我

import re
from datetime import date

with open("5cUserReport.csv","r") as dilly:
    li = [(x.replace("\n","")) for x in dilly]
    li2 = [(x.replace(",","")) for x in li]

    for x in li2:
        match = re.search(r"\d{2}-\d{2}-\d{4}", x)
        date = datetime.strptime(match.group(), "%d-%m-%Y").x()
        print(date)
最终目标是我需要检查用户上次登录的日期是否超过4个月。老实说,这里的任何帮助都是非常欢迎的

CSV格式为:

am_testuser1 2017年12月02日08:42:48 am_testuser11 13/10/2017 17:44:16 am_testuser20 2017年10月27日16:31:07 am_testuser5 2017年8月23日09:42:41 am_testuser50 2017年10月21日15:38:12
编辑:根据给定的csv编辑答案

你可以对熊猫做类似的事情

import pandas as pd

colnames = ['Lastname,   Firstname', 'Date', 'Time']
df = pd.read_csv('5cUserReport.csv', delim_whitespace=True, skiprows=1, names=colnames, parse_dates={'account_last_used_date': [1,2]}, dayfirst =True)

more_than_4_months_ago = df[df['account_last_used_date'] < (pd.to_datetime('now') - pd.DateOffset(months=4))]
print(more_than_4_months_ago)

我在2018年编辑了两行代码,这样测试实际上表明它是有效的

如果您能在数据中显示日期字符串的格式,这会有所帮助。请阅读并发布一个csv的小示例?您可能可以使用pandas pd.read_csv函数读取csv。它还有很多dateparse选项。如果您正确解析了日期,那么检查最后一次登录是否在4个月前是非常简单的。鉴于您的csv示例,我在下面编辑了我的答案。
Lastname, Firstname account_last_used_date
am_testuser1 02/12/2017 08:42:48
am_testuser11 13/10/2018 17:44:16
am_testuser20 27/10/2017 16:31:07
am_testuser5 23/08/2018 09:42:41
am_testuser50 21/10/2017 15:38:12