首页 > 解决方案 > 将列表列表转换为 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   

      }
      ]

}

标签: pythonjsonpython-3.xlist

解决方案


另一个没有的解决方案pandas

from pprint import pprint


data = [
   ['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}]}

推荐阅读