我已經將一個 excel (.xlsx) 電子表格導入到我的 python 代碼中(使用 Pandas)并想從中提取數據,電子表格包含以下內容;DATE: Lecture1: Lecture2:16/07/2020 09:30 11:0017/07/2020 09:45 11:3018/07/2020 09:45 11:0019/07/2020 10:00 14:3020/07/2020 09:30 14:45我如何創建代碼的一部分,以便如果“now = date.today()”,則“打印”那天我的講座行......我有以下內容;import pandas as pddata = pd.read_excel(r'/home/timetable1.xlsx')data["Date"] = pd.to_datetime(data["Date"]).dt.strftime("%d-%m-%Y")df = pd.DataFrame(data)print (df)這將打印出整個時間表,如下所示(請注意格式略有變化); Date Lecture1 Lecture20 16-07-2020 09:30:00 11:00:001 17-07-2020 09:45:00 11:30:002 18-07-2020 09:45:00 11:00:003 19-07-2020 10:00:00 14:30:004 20-07-2020 09:30:00 14:45:00因此,我不確定代碼的哪一部分將用于確定“今天”日期并僅顯示“今天”的講座時間,例如可能是這樣的;now = date.today()now.strftime("%d-%m-%y")if ["Date" == now]: print ('timetable1.xlsx' index_col=now)我是編碼新手,所以不太擅長。上面的代碼是錯誤的我知道我想不出一種顯示信息的方法。所以我想要的輸出; Date Lecture1 Lecture218-07-2020 09:45:00 11:00:00非常感謝您的意見。
3 回答

蝴蝶刀刀
TA貢獻1801條經驗 獲得超8個贊
檢查這個:
data['Date'] = pd.to_datetime(data['Date']).dt.strftime("%d-%m-%Y")
now = pd.to_datetime('today').strftime("%d-%m-%Y")
print(data[data['Date'] == now])

慕俠2389804
TA貢獻1719條經驗 獲得超6個贊
干得好:
from datetime import date
df['DATE'] = pd.to_datetime(df.DATE, format='%d/%m/%Y')
print(df[df.DATE == pd.to_datetime(date.today())])
輸出(對我來說是第 19 個)
DATE Lecture1 Lecture2
3 2020-07-19 10:00 14:30

小怪獸愛吃肉
TA貢獻1852條經驗 獲得超1個贊
您可以做的是以正確的格式將當前日期作為數據集,如下所示:
today=date.today()
compare=today.strftime("%d-%m-%y")
然后在數據幀上執行 .loc 命令
df.loc[df['Date'] == compare]
添加回答
舉報
0/150
提交
取消