为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

GCT1015 2023-08-22 16:19:50
这是列表的示例列表。[   [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         }      ]}
查看完整描述

2 回答

?
慕田峪9158850

TA贡献1794条经验 获得超7个赞

另一种解决方案没有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}]}


查看完整回答
反对 回复 2023-08-22
?
守着星空守着你

TA贡献1799条经验 获得超8个赞

您可以将它们转换为 pandas 的DataFrame对象,然后将其转换为 json。


import pandas as pd

df = pd.DataFrame(data=results[1:], columns=results[0])

json_results = df.to_json()

第二行是从列表列表中创建一个数据框对象。请注意,我跳过了第一个列表(即列标题)并仅将其用于列名称。第三行创建一个 json 对象。您可以使用解析和转储来保存它。

查看完整回答
反对 回复 2023-08-22
  • 2 回答
  • 0 关注
  • 1546 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信