将列表列表转换为 json 格式(第一个列表是标题)

这是列表的示例列表。


[

   [hour,name,year,age],

   [12,'pravin',1997,23],

   [12,'navin',1995,25],

   [12,'prashant',1989,30]

]

我如何使用 python 将其转换为下面的 json。我基本上希望我的第一个列表元素作为其他列表元素的键。基本上是这样的:


{

  results:[{

      hour : 12,

      name  : 'pravin',

      year : 1995,

      age   : 30   


      },{

      hour : 12,

      name  : 'navin',

      year : 1995,

      age   : 25   


      },{

      hour : 12,

      name  : 'prashant',

      year : 1989,

      age   : 30   


      }

      ]


}


GCT1015
浏览 1565回答 2
2回答

慕田峪9158850

另一种解决方案没有pandas:from pprint import pprintdata = [   ['hour','name','year','age'],   [12,'pravin',1997,23],   [12,'navin',1995,25],   [12,'prashant',1989,30]]out = {'results':[dict(zip(data[0], row)) for row in data[1:]]}pprint(out)印刷:{'results': [{'age': 23, 'hour': 12, 'name': 'pravin', 'year': 1997},             {'age': 25, 'hour': 12, 'name': 'navin', 'year': 1995},             {'age': 30, 'hour': 12, 'name': 'prashant', 'year': 1989}]}

守着星空守着你

您可以将它们转换为 pandas 的DataFrame对象,然后将其转换为 json。import pandas as pddf = pd.DataFrame(data=results[1:], columns=results[0])json_results = df.to_json()第二行是从列表列表中创建一个数据框对象。请注意,我跳过了第一个列表(即列标题)并仅将其用于列名称。第三行创建一个 json 对象。您可以使用解析和转储来保存它。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python