我試圖從返回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 =的格式。將日期轉換爲可以正確比較的格式。 –
您可以將日期字符串轉換爲實際的日期時間對象,對它們進行排序並獲得最大的日期時間對象。 –