[英]json_normalize() in pandas
Python版本:2.7
我正在嘗試規范化 MongoDB 中可用的 json 數據。 為此,我正在使用 json_normalize。 但是,我無法將“stages”元素中的數據展平。 它正在收集中。 當我連續處理這個“階段”時,它工作正常。 如何將舞台內的內容與其余數據一起展平? 樣本數據如下。
{
"_id" : ObjectId("5a8ffe8aaacee33cd21aabcb"),
"niyoCustomerCompanyId" : 210068,
"version" : 2,
"versionDate" : ISODate("2018-02-23T17:14:10.614+05:30"),
"data" : {
"CustomerCompanyId" : 210068,
"companyName" : "XYZ Tractors ",
"mobileNo" : "***22****",
"cif" : "25",
"typeId" : 3,
"PartnerCompanyId" : "163929",
"companyDetails" : {
"sectorType" : "30",
"sectorSubType" : "2",
"pincode" : "431602",
"email" : "abcd@rediffmail.com",
"stages" : [
{
"name" : "Prequalification",
"status" : "done"
},
{
"name" : "Prequalification1",
"status" : "pending"
}
],
"currentStage" : "Pre-Qualification"
}
}
}
我試過的代碼如下。
cursor_only_data_stage = customer_collection.find({})
stage_data = list(cursor_only_data_stage)
stage_data_df_1 = pd.DataFrame(json_normalize(stage_data))
預期輸出如下。
id cif stage status version versiondate
5a8ffe8aaacee33cd21aabcb 25 Prequalification done 2 2018-02-23T17:14:10.614+05:30
5a8ffe8aaacee33cd21aabcb 25 Prequalification1 pending 2 2018-02-23T17:14:10.614+05:30
我能夠做所需的
all_stage_data_flat = pd.DataFrame(json_normalize(all_stage_data_list, [['data','companyDetails', 'stages']],
['_id','version','versionDate',['data','cif']]))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.