"Repo": {
"D_Repo": {
"fields": [
{
"Out": " ",
"number": {
"Bks": "[number is valid]",
"Ban": "[VALID]"
},
"st_ID": 2
"sign": "No Match"
}
],
"RID": 2546,
"result": "OK"
}
Я прочитал json, используя pd.read_json, а Repo - это столбец в фрейме данных. Итак, как получить доступ к вложенным столбцам «bks, Ban, Out, RID и Decision», и как это есть 70 записей внутри «info». В приведенном выше коде я показал только одну запись. Кто-нибудь может помочь с логикой и фрагментом кода?






надеюсь это поможет!! (при условии, что у вас есть d)
d = {"Repo": {
"DE_Repo": {
"info": [
{
"Out": " ",
"Value": {
"Bks": "[number is valid]",
"Ban": "[VALID]"
},
"ID": 2,
"Remark": "No Match"
},
{
"Out": " ",
"Value": {
"Bks": "[number is valid]",
"Ban": "[VALID]"
},
"ID": 2,
"Remark": "No Match"
}
],
"RID": 2546,
"Decision": "Approved"
}}}
repo_data = d['Repo']['DE_Repo']
values = []
for keys, val in repo_data.items():
if type(val) == list:
for i in range(len(val)):
for key,data in val[i].items():
if type(data) == dict:
for subKey, subValue in data.items():
values.append([subKey,subValue])
else:
values.append([key,data])
else:
values.append([keys,val])
extracted_points = pd.DataFrame(values,columns=['Key','Value'])
Вывод
0 1
0 Out
1 Bks [number is valid]
2 Ban [VALID]
3 ID 2
4 Remark No Match
5 Out
6 Bks [number is valid]
7 Ban [VALID]
8 ID 2
9 Remark No Match
10 RID 2546
11 Decision Approved
Да, вы почти получили это, братан, но это для 1 основной записи, а если есть 10 записей, то как ее повторить
ты про множественные репо или de_repo или инфо ..?
Просто используйте стандартный цикл: предположим, что у вас есть несколько записей в d, затем для i в d: repo_data = i ['Repo'] ['DE_Repo'] .... и затем продолжите вышеуказанный материал
инфо брат ... если есть 70 инфа
он правильно выполняет итерацию более 8 записей, но внутри информации есть 70 записей, поэтому он принимает только одну запись
ох, пожалуйста, измените значение val [0], потому что я предполагаю только одну запись .. подождите обновления, посмотрите, работает ли это ..
Большое спасибо, брат ... результат получился, как и ожидалось.
как отсортировать по 8 записям в фрейме данных ... он показывает 1700 строк
зависит .. как вы хотите отображать информационные данные. (поскольку их более 70) ..?
рассмотрим выше репо 1, а всего 8 репо
приведенный выше код извлечет все данные для репо1 и аналогично для 8 репо, какие изменения мне нужно сделать .... так, чтобы он мог храниться во фрейме данных в 8 строках
Кто-нибудь может сказать мне, как написать для этого метод?
Мне нужны эти столбцы «bks, Ban, Out, RID и Decision» для всех 70 записей. В основном я хочу все сгладить