Загрузите файл json, выполните итерацию по нему и запишите каждый элемент в новый файл - PullRequest
0 голосов
/ 18 мая 2018

У меня есть файл 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"
}]

Помощь будет очень признателен.Спасибо

Ответы [ 2 ]

0 голосов
/ 18 мая 2018

Просто с помощью 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'}]
0 голосов
/ 18 мая 2018
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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...