从XHR响应扁平化Python中的json
更新:先前的XHR响应不正确 我无法从XHR响应以正确的方式展平json。 我刚刚扩展了下面的一个项目,使其更具可读性 我正在使用python,我已经尝试过了,但结果不正确从XHR响应扁平化Python中的json,python,json,xmlhttprequest,flatten,Python,Json,Xmlhttprequest,Flatten,更新:先前的XHR响应不正确 我无法从XHR响应以正确的方式展平json。 我刚刚扩展了下面的一个项目,使其更具可读性 我正在使用python,我已经尝试过了,但结果不正确 u = "URL" SE_units = requests.get(u,headers=h).json() dp = pd.json_normalize(SE_units,[SE_units,"Items"]) SE_dp_list.append(dp) 从下面的XHR响应中,我希望
u = "URL"
SE_units = requests.get(u,headers=h).json()
dp = pd.json_normalize(SE_units,[SE_units,"Items"])
SE_dp_list.append(dp)
从下面的XHR响应中,我希望将项目信息导出到CSV中,但当我导出到CSV时,我发现它没有被正确地展平
{"Content":{
"PaginationCount":12,"FilterValues":null,"Items":
[{
"Id":258370,
"OriginalType":"BostadObjectPage",
"PublishDate":null,
"Title":"02 Skogsvagen",
"Image":
{
"description":null,
"alt":null,
"externalUrl":"/abc.jpg"
},
"StaticMapImage":null,
"Url":"/abcd/",
"HideReadMore":false,
"ProjectData":null,
"ObjectData":
{
"BuildingTypeLabel":"Rad-/Kedje-/Parhus",
"ObjectStatus":"SalesInProgress",
"ObjectStatusLabel":"Till salu",
"ObjectNumber":"02",
"City":"staden",
"RoomInterval":"2-3",
"LivingArea":"101",
"SalesPrice":"2 150 000",
"MonthlyFee":null,
"Elevator":false,
"Balcony":false,
"Terrace":true
},
"FastighetProjectData":null,
"FastighetObjectData":null,
"OfficeData":null
},
{
"Id":258372,
"OriginalType":"BostadObjectPage",
"PublishDate":null,
....."same structure as above"
"OfficeData":null
}],
"NoResultsMessage":null,
"SimplifiedBuildingType":null,
"NextIndex":-1,
"TotalCount":12,
"Heading":null,
"ShowMoreLabel":null,
"DataColumns":null,
"Error":null},
"ObjectSearchData":
{
"BuildingVariantId":"Houses",
"BuildingsFoundLabel":" {count}",
"BuildingTypeIds":[400],
"BuildingsAvailableForSale":12,
"BuildingNoResultsLabel":""
}
}
写入CSV后的预期输出格式
最初的回答和您的预期结果是什么?最初的回答是什么意思?我可以在表中创建预期结果的示例并插入。给我几分钟。当然,为了清楚起见,我应该加上这一点。但我希望它在“物品”下完全展平。你在这里移除物品吗?项目:[,…]这让你很难得到答案。但是看起来你需要['Content']['Items']。如果json_normalize没有将其充分展平,您可以研究展平json,它非常适合深度嵌套的json结构。谢谢您的回答。我现在看到,我在浏览器中的“检查”选项卡上的剪切和粘贴没有得到正确的响应。我现在已经更新了上面的代码,我希望它更清晰。任何关于如何在“items”?
json_normalize()
上修饰它的建议都不会在不使用可选参数的情况下扩展嵌入式列表。你需要考虑如何处理这些问题。