【发布时间】:2021-07-30 20:09:41
【问题描述】:
我有一个这样的 xlsx。
date value ...
0 2021-07-31 244793 ...
1 2021-08-01 244685 ...
2 2021-08-02 453193 ...
3 2021-08-03 453258 ...
我想检查并比较今天的日期与 xlxs 中的日期。 当今天的日期和 xlsx 中的日期 == 我想获取日期后面的值。 就像今天是 2021-07-31 所以我得到的值是 244793。
这是我的代码。
import pandas
from datetime import datetime
date_today = datetime.now().strftime("%Y-%m-%d")
df = pandas.read_excel('example.xlsx', sheet_name='sheet')
a = df[df['date'] == date_today]
print(a)
我不知道如何完成我的想法,也找不到我需要的正确工具。 也许有人可以帮助我。
【问题讨论】:
-
在我看来,您的代码已经完成了您的要求?它创建一个包含所有等于当前日期的值的新数据框。我脑子里唯一剩下的就是 print(a['value']) 或 print(a.loc[0,'value']),但如果我错了,请纠正我。 :)
-
感谢您的回答。是的,这几乎是我想要的,也许我没有说清楚。我也不是母语人士。所以,现在给我我需要的正确的行。如何只显示值而不显示索引和日期?
-
我认为这会起作用:print(a.loc[0,'value']),但请注意,这只会选择 a 中的第一行 (=0)。 (因此,如果数据框中有多个与当前日期匹配的行,则只会打印其中的第一个值,因此您必须遍历数据框。)
-
完美,这就是我想要的。非常感谢!
标签: python pandas date datetime xlsx