为密钥排序python字典,拆分它并从中创建一个JSON数组

时间:2016-07-30 08:04:21

标签: python json sorting dictionary

我有这个巨大的JSON文件,其中包含超过80000行,看起来像这样:

{u'hero_name': u'bristleback', u'gold_total': 17937, tick:24098}
{u'hero_name': u'silencer', u'gold_total': 10847, tick:24198}
{u'hero_name': u'silencer', u'gold_total': 11789, tick:25098}
{u'hero_name': u'weaver', u'gold_total': 27084, tick:27098}

有10位不同的英雄和他们的黄金数据。我想为英雄名称排序数据,制作黄金数据的json列表,然后将其存储在数据库表格中,其中gold_data应该像[{tick,gold},{tick,gold}, ...]

id | hero_name | gold_data (json field) | ... 

但似乎我太愚蠢了。我尝试使用sorted(gold_list, key=lambda s: s[0])

构建一个列表

我对Python不太熟悉,我尝试了很多不同的东西,但我不知道如何排序,然后将这个字典拆分为hero_names键,这样我就可以获得gold_data的JSON对象

1 个答案:

答案 0 :(得分:0)

您需要使用json - 还有其他套餐,但这个套餐应该这样做。

  1. 使用open()
  2. 将JSON加载到可验证的版本
  3. 使用dict
  4. 转换为json.loads()

    例如:

    import json
    from pprint import pprint
    
    with open('data.json') as data_file:    
        data = json.load(data_file)
    
    dct = json.loads(data)
    pprint(dct)
    

    您无法对字典进行排序 - 您必须将dict转换为元组数组 - please, refer herehere以及here