gpt4 book ai didi

python - Pandas JSON_Normalize 仅特定列

转载 作者:行者123 更新时间:2023-12-05 07:28:23 24 4
gpt4 key购买 nike

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

JSON 数据看起来像这样

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

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

from pandas.io.json import json_normalize
df = json_normalize(data)
df.to_json(orient="records")

输出看起来像,

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

但我不想展平 Image 键并按原样保留它。

预期的输出看起来像

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

有没有办法使用 JSON 规范化来实现这一点。

最佳答案

如何将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]))

关于python - Pandas JSON_Normalize 仅特定列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53376556/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com