提问者:小点点

如何比较来自两个不同来源且日期格式不同的日期字符串?


我有两个包含列假日的数据帧-值是日期(日期范围)的字符串。 其中一个格式如下:“2018-01-01_2018-01-03,2018-04-17_2018-05-05,2019-03-20_2019-03_21”;第二个格式如下:“01-jan-18_03-jan-18,17-apr-18_05-may-18,20-mar-19_21-mar-19”

如何比较两个来源之间的日期是否匹配?


共1个答案

匿名用户

给你,找到解决方案的基础了。

from datetime import datetime

def is_match(s1,s2) -> bool:
    for a,b in zip(s1.split("_"),s2.split("_")):
        d1 = datetime.strptime(a, "%Y-%m-%d")
        d2 = datetime.strptime(b, "%d-%b-%y")
        if d1 != d2: return False
    return True

assert is_match("2018-01-01_2018-01-03","01-JAN-18_03-JAN-18") == True
assert is_match("2019-01-01_2018-01-03","01-JAN-18_03-JAN-18") == False

如果你明白这一点,或者如果你需要问任何进一步的问题,我想请你评论。 来源:https://docs.python.org/3/library/datetime.html