加载一个json文件,遍历它并将每个元素写入一个新的fi

2024-09-28 03:15:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个json文件,现在我想修改json文件的键。我能够通读该文件中的每一项,但不知道如何使用Python修改后将其写入新词典

当前json文件如下:

[
  {"detail": ["Jishnu Prasad Rijal ", " Biratnagar , Morang,", "M", "BBS, India", "1"]},
  {"detail": ["Lakshmishwar Prasad ", " Kharihani , Dhanusa,", "M", "BBS, India", "2"]},
]

但我想要这种格式:

[{
  "name":"Jishnu Prasad Rijal","roll_no":1,"gender":"Male",
  "address":"Biratnagar,Morang","degree":"BBS, India"
}, {
  "name":"Lakshmishwar Prasad ","roll_no":2,"gender":"Male",
  "address":"Kharihani , Dhanusa","degree":"BBS, India"
}]

非常感谢您的帮助。 谢谢


Tags: 文件namejsonrolldetailindiabbsprasad
2条回答

简单地使用zip

keys = ['name', 'address', 'gender', 'degree', 'role_no']
x = [dict(zip(keys, i['detail'])) for i in x]

[{'name': 'Jishnu Prasad Rijal ', 'address': ' Biratnagar , Morang,', 'gender': 'M', 'degree': 'BBS, India', 'role_no': '1'}, {'name': 'Lakshmishwar Prasad ', 'address': ' Kharihani , Dhanusa,', 'gender': 'M', 'degree': 'BBS, India', 'role_no': '2'}]
input_dict = [
        {"detail": ["Jishnu Prasad Rijal ", " Biratnagar , Morang,", "M", "BBS, India", "1"]},
        {"detail": ["Lakshmishwar Prasad ", " Kharihani , Dhanusa,", "M", "BBS, India", "2"]},
        ]
cols = ['name','address','gender','degree','roll_no']
output_list = []
for el in input_dict:
            x = el['detail']
            #print(dict(zip(cols,x)))
            op = dict(zip(cols,x))
            output_list.append(op)
print(output_list)

相关问题 更多 >

    热门问题