Pandas JSON_只规范化特定列

2024-09-30 06:17:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个嵌套的JSON结构,需要将其展平。在使用JSON normalize时,它会使所有键变平。但是,我想在保持其他键嵌套的同时展平特定的键。如何使用JSON规范化实现这一点。下面详细描述我要做的事情。在

JSON数据如下所示

data = {"Attachment":[{"url":"URL001", "type":"pdf"}, 
                      {"url":"URL002", "type":"pdf"}],
        "Image":{"url":"URL001", "type":"png"},
        "Lookup":{"ProductName":"Item001", "ProductId":"001"}}

在运行以下代码段时,它将ImageLookup字段展平。在

^{pr2}$

输出看起来像

Attachment     Image.URL   Image.Type  Lookup.ProductName Lookup.ProductId
[{...}, {...}]    URL001     png              Item001                 001

但我不想将Image键变平并保持原样。在

预期产出如下

Attachment           Image             Lookup.ProductName Lookup.ProductId
[{...}, {...}]       {"url":...,}      Item001                 001

有没有一种方法可以使用JSON normalize来实现这一点。在


Tags: imagejsonurlattachmentpdfpngtypelookup
1条回答
网友
1楼 · 发布于 2024-09-30 06:17:40

不如把data分成两个单独的字典。执行2个不同的转换操作,然后连接相应的数据帧:

data1 = {k:v for k,v in data.iteritems() if k!='Image'}
data2 = {k:v for k,v in data.iteritems() if k=='Image'}
df = pd.io.json.json_normalize(data1).join(pd.DataFrame([data2]))

相关问题 更多 >

    热门问题