У меня есть данные json, как показано ниже
JSON-данные
data = '''
{
"p1":[ {"Name":"A","Age":45} ,
{"Name":"B","Age":26} ],
"p2":[ {"Name":"C","Age":25} ,
{"Name":"D","Age":26} ]
}
'''
Мой код:
import json
jdata = json.loads(data)
jkey = jdata.keys() # (['p1','p2'])
jheader = []
for row in jkey:
jheader.append(jdata[row][0])
break;
Как получить только заголовки в списке заголовков
Ожидаемый результат:
header = ['Name','Age']






Это создает список диктов и список с ключами. Это то, что вам нужно?
import json
jdata = json.loads(data)
jheader = []
jrows = []
for key,parts in jdata.items():
if not jheader:
jheader = list(parts[0].keys())
jrows.extend(parts)
Функция .keys() возвращает генератор. append просто добавит генератор как отдельный элемент. Нам нужен список, чтобы мы могли использовать его несколько раз. Вы должны попробовать это, чтобы увидеть, как это выглядит, потому что это очень распространенная ошибка.
почему он преобразуется в список
jhedaer = list(parts[0] ..., его нельзя добавить с помощьюappend(parts[0].keys()]