我有以下代码(Python 2.7):
response2 = requests.get(...)
sample_object = pd.DataFrame(response2.json())['results'].to_dict()
这从我的DataFrame创建了一个字典,而我正在从中创建一个Json。但是它没有排序:
如何按键对它进行排序?意思是isGift
之前的ShippingAddress_city
等
我看到了像this这样的私密答案,但是我无法在我的代码中做到这一点...
也尝试过to_dict(into=ordered)
,但没有任何反应。
是否有一种从一开始就对其进行排序的简单方法?还是必须仅在创建后对它进行排序,如果可以,我该怎么做?
答案 0 :(得分:1)
您可以将sorted
与自定义键一起使用,并输入collections.OrderedDict
中:
from collections import OrderedDict
sample_object = pd.DataFrame(response2.json())['results'].to_dict()
sorted_object = OrderedDict(sorted(sample_object.iteritems(), key=lambda x: x[0]))
请注意,Python 3.7之前的字典被认为是无序的。由于OrderedDict
是dict
的子类,因此上述方法不会导致下游操作出现问题。