从 Excel 文件中读取日期并获取与今天日期的差值
Read date from Excel file and get a delta with today's date
我有一个 excel 文件,里面有一些日期。它们的格式为 dd-mm-yyyy
。
我想获取该列中的每个日期,并获取它与今天日期的差值。
例如,如果 Excel 文件的日期为:20-6-2019,它将减去今天的日期 (16/6/2019) 和 return 4.
我一直在尝试使用 pandas 和 xlrd 来解决这个问题,但每次我都不知所措,无法理解我在做什么。
这是我的方法:
import pandas as pd
import datetime
file_name = pd.read_excel (r'C:\Users\Daniel Beilin\VSCodeProjects\ExcelReminder\test.xlsx')
df = pd.DataFrame(file_name, columns= ['Date'])
df['Date'] = pd.to_datetime(df.Date)
frmtedDate = df['Date']
today = pd.datetime.now().date()
delta = frmtedDate - today
print(delta)
您可以使用 pd.Timestamp.today
,然后从 returns 和 dt.days
的时间增量中提取天数:
# Example dataframe
df = pd.DataFrame({'Date':['20-6-2019', '21-6-2019', '25-6-2019']})
df['Date'] = pd.to_datetime(df['Date'])
Date
0 2019-06-20
1 2019-06-21
2 2019-06-25
(df['Date'] - pd.Timestamp.today()).dt.days
0 3
1 4
2 8
Name: Date, dtype: int64
注意 在这种情况下 20-6-2019
的 3 天是正确的,因为从现在到 6 月 20 日之间有 3 整天。
您可以在 pd.to_datetime()
函数中设置格式选项。在您的情况下,这应该可行:
df['Date'] = pd.to_datetime(df.Date, format="%d-%m-%Y)
我有一个 excel 文件,里面有一些日期。它们的格式为 dd-mm-yyyy
。
我想获取该列中的每个日期,并获取它与今天日期的差值。
例如,如果 Excel 文件的日期为:20-6-2019,它将减去今天的日期 (16/6/2019) 和 return 4.
我一直在尝试使用 pandas 和 xlrd 来解决这个问题,但每次我都不知所措,无法理解我在做什么。
这是我的方法:
import pandas as pd
import datetime
file_name = pd.read_excel (r'C:\Users\Daniel Beilin\VSCodeProjects\ExcelReminder\test.xlsx')
df = pd.DataFrame(file_name, columns= ['Date'])
df['Date'] = pd.to_datetime(df.Date)
frmtedDate = df['Date']
today = pd.datetime.now().date()
delta = frmtedDate - today
print(delta)
您可以使用 pd.Timestamp.today
,然后从 returns 和 dt.days
的时间增量中提取天数:
# Example dataframe
df = pd.DataFrame({'Date':['20-6-2019', '21-6-2019', '25-6-2019']})
df['Date'] = pd.to_datetime(df['Date'])
Date
0 2019-06-20
1 2019-06-21
2 2019-06-25
(df['Date'] - pd.Timestamp.today()).dt.days
0 3
1 4
2 8
Name: Date, dtype: int64
注意 在这种情况下 20-6-2019
的 3 天是正确的,因为从现在到 6 月 20 日之间有 3 整天。
您可以在 pd.to_datetime()
函数中设置格式选项。在您的情况下,这应该可行:
df['Date'] = pd.to_datetime(df.Date, format="%d-%m-%Y)