【问题标题】:Pandas xlsx comparing dates and if equal then give the right colPandas xlsx 比较日期,如果相等,则给出正确的 col
【发布时间】: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


【解决方案1】:

我认为这会起作用:

print(a.loc[0,'value'])

但请注意,这只会选择 a 中的第一行 (=0)。 (因此,如果数据框中有多个与当前日期匹配的行,则只会打印其中的第一个值,因此您必须遍历数据框。)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-10-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-07
    • 1970-01-01
    相关资源
    最近更新 更多