【发布时间】:2019-10-30 21:41:05
【问题描述】:
我有一个脚本可以返回今天的日期和 Excel 文件中的日期之间的天数差异。
由于某种原因,对于单编号日期,我得到一个负数。
例如:
Date : num days diffrence from today
4/7/2019 : -72 (wrong)
5/7/2019 : -42 (wrong)
20/8/2019 : 63 (correct)
30/6/2019 : 12 (correct)
结果与发布此问题的那天一致 (17/6/2019)
我检查了 Excel 文件中剩余的 100 个日期,但这种行为只发生在单个编号的日期上。例如:2019 年 5 月 7 日(2019 年 7 月 5 日)或 2019 年 3 月 10 日(2019 年 10 月 3 日)。
这是我的代码:
import pandas as pd
import datetime as dt
file_name = pd.read_excel (r'Changes log.xlsx')
df = pd.DataFrame(file_name, columns= ['Due Date'])
today = pd.Timestamp.today()
df['Due Date'] = pd.to_datetime(df['Due Date'])
delta = (df['Due Date'] - today).dt.days
print(delta)
注意:df['Due Date] 包含 Excel 文件中的日期。格式为%d/%m/%Y
任何帮助都会很棒
【问题讨论】:
-
我认为在前两种情况下,它默认为美国日期格式 MM/DD/YYYY
-
@IcedLance 确实如此,您可以使用打印
4的print(pd.to_datetime("4/7/2019").month)进行验证。对于print(pd.to_datetime("20/8/2019").month),它是8。
标签: python excel pandas date delta