Python熊猫(Excel)数据表代码问题

Python熊猫(Excel)数据表代码问题,python,excel,pandas,Python,Excel,Pandas,我已将excel(.xlsx)电子表格导入python代码(使用Pandas),并希望从中提取数据,该电子表格包含以下内容: DATE: Lecture1: Lecture2: 16/07/2020 09:30 11:00 17/07/2020 09:45 11:30 18/07/2020 09:45 11:00 19/07/2020 10:00 14:30 20/07/2020 09:30 14:

我已将excel(.xlsx)电子表格导入python代码(使用Pandas),并希望从中提取数据,该电子表格包含以下内容:

DATE:        Lecture1:   Lecture2:
16/07/2020   09:30       11:00
17/07/2020   09:45       11:30
18/07/2020   09:45       11:00
19/07/2020   10:00       14:30
20/07/2020   09:30       14:45
import pandas as pd

data = 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)
如何创建代码的一部分,以便如果“now=date.today()”,则“打印”当天的课程行

我有以下几点:

DATE:        Lecture1:   Lecture2:
16/07/2020   09:30       11:00
17/07/2020   09:45       11:30
18/07/2020   09:45       11:00
19/07/2020   10:00       14:30
20/07/2020   09:30       14:45
import pandas as pd

data = 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)
这将打印出如下所示的整个时间表(注意格式略有变化)

因此,我不确定代码的哪一部分将用于确定“今天”的日期,并仅显示“今天”的授课时间,例如类似这样的内容

now = date.today()
now.strftime("%d-%m-%y")
if ["Date" == now]:
    print ('timetable1.xlsx' index_col=now)
我是新的编码,所以不是很擅长。上面的代码是错误的,我知道我想不出显示信息的方法

所以我想要我想要的输出

      Date  Lecture1  Lecture2
18-07-2020  09:45:00  11:00:00
非常感谢您的意见。

请检查以下内容:

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])
给你:

from datetime导入日期
df['DATE']=pd.to_datetime(df.DATE,格式=“%d/%m/%Y”)
打印(df[df.DATE==pd.to_datetime(DATE.today()))
输出(对我来说是第19个)


您可以做的是以正确的格式将当前日期作为数据集,如下所示:

today=date.today()
compare=today.strftime("%d-%m-%y")
以及数据帧上的do a.loc命令

df.loc[df['Date'] == compare]

除了最后一个if语句外,所有内容都是正确的。当您想要检查Dateframe中的条件时,您需要通过它运行一个循环,或者使用pandas使用条件语句。我更喜欢晚一点的,因为它更快。太棒了,谢谢你。我确实得到了所需的输出。有没有办法使索引列0成为主列,并去掉出现在边上的数字?我尝试了以下操作,但出现了一个错误;data=pd.read\u excel(r'/home/timetable1.xlsx',index\u col=0)可以使用reset\u index()重置索引,如果要删除索引,则使用reset\u index(drop=true)。检查此链接,让我知道这是否适用于您。如果您想将索引添加到dataframe列,则可以使用df['index']=df.index,然后使用df.reset_index(drop=True)将其从侧面删除。但是我不认为有必要这样做,因为您可以访问任何具有索引号的行,而无需将其添加为列。谢谢您的回复。我已输入以下内容,但收到错误信息;df['index']=df.index df.reset_index(drop=True),不起作用。它部分工作的唯一方法是我做以下事情;df=pd.read\u excel(r'/home/timetable1.xlsx',index\u col=0,header=0)print(df)但是我不能为date==now等添加其他命令,每次添加它时都会出错,我之所以需要关闭它,是因为我将使用PyQT将其作为标签显示在GUI界面上。所以我只想隐藏那部分。