我试图从返回JSON对象的API提取财务数据。 API没有明确说明返回的字典是OrderedDicts,但是输出总是被排序的,因此我会做出这样的假设。检索字典中最后一个键的值
我需要检索字典中最后一个键的值,因为我需要最新的财务数据。但是,我不能明确地使用密钥的名称来提取它,因为它是以日期格式显示的,并且可能会因使用查询的公司而有所不同。
我试图将字典对象转换成列表,并使用索引-1选择最后一个键,但转换过程似乎随机化字典的顺序不再检索最后一个日期。
那么我该如何去检索字典中最后一个键的值?
这里是什么样的JSON对象看起来像一个例子:
{'2007-06-01T00:00:00': 21.19,
'2008-06-01T00:00:00': 26.01,
'2009-06-01T00:00:00': 19.34,
'2010-06-01T00:00:00': 22.88,
'2011-06-01T00:00:00': 23.77,
'2012-06-01T00:00:00': 14.77,
'2013-06-01T00:00:00': 16.58,
'2014-06-01T00:00:00': 14.02,
'2015-06-01T00:00:00': 7.0,
'2016-06-01T00:00:00': 9.08}
通常,如果API没有指定它实际上做了什么,则不应该依赖它继续这样做。 –
如果密钥全部可比,那么最高会是最近的,所以你可以用'max(data.keys())'来获得最近的密钥,这取决于你需要指定一个key =的格式。将日期转换为可以正确比较的格式。 –
您可以将日期字符串转换为实际的日期时间对象,对它们进行排序并获得最大的日期时间对象。 –