我正试图从excel(.xls)文件中提取数据,并且我决定将Pandas作为库使用,因为在公司计算机上允许使用它。
我所遇到的大多数描述Pandas的信息都是针对使用Jupyter或Anaconda生态系统而设计的,我很难将方法转换为传统的python脚本。
这是我正在测试的表的示例:
Date a b c
1 1-Jan-19 100 200 300
2 1-Feb-19 101 201 301
3 1-Mar-19 102 202 302
4 1-Apr-19 103 203 303
5 1-May-19 104 204 304
6 1-Jun-19 105 205 305
7 1-Jul-19 106 206 306
8 1-Jul-19 107 207 307
9 1-Aug-19 108 208 308
10 1-Sep-19 109 209 309
我的目标是获取日期最长的行(即今天),并将该行中的所有信息作为字典或JSON进行评估,例如
{
Date: 1-Sep-19,
a: 109,
b: 209,
c: 309
}
(我不在乎“索引”列)
我坚持尝试评估最后一行。这是我到目前为止的内容:
import pandas as pd
xls = pd.ExcelFile(r'C:\Path\Excel Pandas Connector Test.xls')
df = pd.read_excel(xls, r'Sheet1')
today = df['Date'].max() # returns the max value in the date column
print(today)
我已经找到了最大日期,但是要使用该日期从该表中获取最新数据,我该怎么办?
答案 0 :(得分:1)
就做
df[df.Date == date.Date.max()].to_dict(orient='records')[0]
这只是选择Date
列中具有最大值的数据帧的行,然后将结果转换为字典列表,每一行对应一个。
根据您的问题,我假设您只有一个最新日期的条目,因此可以通过选择列表中的第一个条目来解决问题。请注意重复的日期,因为这会选择出现在数据框中的第一个日期。
希望有帮助