【发布时间】:2020-09-07 09:16:06
【问题描述】:
我对使用 python 和 pandas 比较陌生,我正在尝试使用 python 获取 excel 工作表中单元格的值。更糟糕的是,我正在使用的 Excel 工作表没有正确的列名。
数据框如下所示:
Sign Name 2020-09-05 2020-09-06 2020-09-07
JD John Doe A A B
MP Max Power B B A
我要做的是打印列标题为当前日期且符号为“MP”的“单元格”的值。
到目前为止我尝试过的是:
import pandas as pd
from datetime import datetime
time=datetime.now()
relevant_sheet = time.strftime("%B" " %y")
current_day = time.strftime("%Y-%m-%d")
excel_file = pd.ExcelFile('theexcelfile.xlsx')
df = pd.read_excel(excel_file, relevant_sheet, skiprows=[0,1,2,3]) # I don't need these
relevant_value = df.loc[df['Sign'] == "MP", df[current_day]]
这给了我 current_day 的一个关键错误:
KeyError: '2020-09-07'
要完全披露我正在使用的真实数据框的任何可能问题:如果我只是打印数据框,我会得到如下所示的列:
2020-09-01 00:00:00
这就是为什么我也尝试过:
current_day = time.strftime("%Y-%m-%d 00:00:00")
当然,我也“手动”尝试了各种日期格式,但无济于事。我在这件事上完全错了吗?这个excel是不是坑我了?
【问题讨论】: