【问题标题】:Adding a parent in JSON in Python在 Python 中以 JSON 格式添加父级
【发布时间】:2021-03-14 05:23:23
【问题描述】:

我有一个包含 2 列的 pandas 数据框,如下所示:

Column1 Column2
122132  123123
213213  231233
231234  232133

我已使用以下代码将其转换为 json:

df_json = dataframe.to_json(orient='records')

输出 JSON:

[{"Column1":"122132","Column2":"123123"},{"Column1":"213213","Column2":"231233"},{"Column1":"231234","Column2":"232133"}]

我需要为其添加一个父级,以便 JSON 如下所示:

{
"APP_Request":
[{"Column1":"122132","Column2":"123123"},{"Column1":"213213","Column2":"231233"},{"Column1":"231234","Column2":"232133"}]
}

我该怎么做?

我尝试了以下,但 JSON 格式不正确。

df_new = dict()
df_new["SFDC_Request"] = df_json

上面的 OUTPUT 如下,格式不正确:

{'APP_Request': '[{"Column1":"122132","Column2":"123123"},{"Column1":"213213","Column2":"231233"},{"Column1":"231234","Column2":"232133"}]'}

上面的 json 在单引号内有单引号和方括号,这是我想做的事情的遗漏。有没有办法以我需要的格式创建 JSON?

【问题讨论】:

  • new_dict = {"APP_Request": df_json}
  • 这仍然在 'APP_Request' 的分号后添加单引号。 {'APP_Request': '[{"Column1":"122132","Column2":"123123"},{"Column1":"213213","Column2":"231233"},{"Column1":"231234 ","Column2":"232133"}]'}
  • 那么你的 df_json 是一个字符串而不是一个 json 字典。您可以使用 json.loads(df_json) 转换字符串
  • 感谢这工作。我使用 pandas.to_json(dataframe) 将数据帧转换为 json。这默认不创建json吗?
  • Mace,请您通过回答来结束这个问题。我不知道如何结束这个问题,我假设你会结束这个。如果我需要这样做,请告诉我。

标签: python json dataframe


【解决方案1】:

创建父级的最简单方法,即创建新字典:

new_dict = {"APP_Request": df_json}

因为您的 df_json 是一个字符串,您需要使用 json.loads() 将其转换为真正的 json。

所以

new_dict = {"APP_Request": json.loads(df_json)}

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-09-26
  • 1970-01-01
相关资源
最近更新 更多