我的代码是打开文件并读取字典中的字典。我想从密钥" time"中取出所有值。和密钥中的所有值"关闭"并将它们作为键:值对连接在一个单独的字典中。然而,我的代码实现了这一点,我需要对结果字典的排序方式与我从字典中提取的字典相同,因为它们是日期。出于某种原因,在第3次迭代之后,日期开始在我创建的新词典中被扰乱。有什么方法可以解决这个问题吗?
这是样本
import json
import datetime
dict={}
def parsehistory():
file = json.load(open('histoday.json')) #open file
for i in range(len(file["Data"])): #iterate through subdictionaries
time = file["Data"][i]["time"] #get all values from key "time"
close = file["Data"][i]["close"] #get all values from key "close"
convert = datetime.datetime.utcfromtimestamp(time).strftime('%m-%d-%Y') #convert time from unix to UTC
dict[convert] = close #join values
print(dict)
这是一个输出样本,显然没有按日期排序{' 02-05-2018':6937.08,' 02-03-2018': 9251.27,' 02-06-2018':7701.25,' 02-21-2018':10481.66,}
感谢任何帮助
答案 0 :(得分:1)
python dictionnaries。如果您想记住插入顺序,可以创建OrderedDict
。
只需将dict
的初始化替换为:
dict = collections.OrderedDict()
然而,字典将按插入顺序排序,而不是按日期排序。