从Excel文件中读取日期,并获取今天的日期的变化量

时间:2019-06-16 20:51:55

标签: python excel pandas date delta

我有一个带有一些日期的Excel文件。它们的格式为dd-mm-yyyy。 我想获取该列中的每个日期,并获取与今天的日期相对应的数字。

例如,如果Excel文件具有这样的日期:20-6-2019,它将减去今天的日期(16/6/2019)并返回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)

2 个答案:

答案 0 :(得分:0)

您可以使用pd.Timestamp.today,然后从它返回的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天。

答案 1 :(得分:0)

您可以在morris-bar-chart函数中设置格式选项。根据您的情况,应该可以解决:

pd.to_datetime()