我正在编写一个程序来检查一个excel文件,如果今天的日期在excel文件的日期列中,我会解析它
我用的是:
cur_date = datetime.today()
今天的约会。我正在检查今天是否在专栏中:
bool_val = cur_date in df['date'] #evaluates to false
我确实知道今天的日期在有关文件中。序列的数据类型是datetime64[ns]
另外,如果重要的话,我只检查日期本身,而不是之后的时间戳。我这样做是为了让时间戳00:00:00:
cur_date = datetime.strptime(cur_date.strftime('%Y_%m_%d'), '%Y_%m_%d')
打印后对象的类型也是datetime
最佳答案
你可以用
pd.Timestamp('today')
或
pd.to_datetime('today')
但这两个都给出了
'now'
的日期和时间。请改为:
pd.Timestamp('today').floor('D')
或
pd.to_datetime('today').floor('D')
您也可以将
datetime
对象传递给pandas.to_datetime
,但我喜欢其他选项mroe。pd.to_datetime(datetime.datetime.today()).floor('D')
熊猫还有一个
Timedelta
对象pd.Timestamp('now').floor('D') + pd.Timedelta(-3, unit='D')
或者您可以使用
offsets
模块pd.Timestamp('now').floor('D') + pd.offsets.Day(-3)
要查看会员资格,请尝试下列操作之一
cur_date in df['date'].tolist()
或者
df['date'].eq(cur_date).any()
关于python - Pandas 中的datetime和datetime64 [ns]之间的比较,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51827134/