将两个pandas数据帧组合为单个json输出

时间:2016-09-28 00:04:45

标签: python pandas

我正在尝试将两个pandas数据帧合并为一个JSON输出。

下面的json输出是此代码的结果 - df.to_json(orient = "split")

{
  columns: [],
  index: [],
  data: [
    [
      "COMPANY ONE",
      "123 HAPPY PLACE",
      "GOTHAM CITY",
      "NJ",
      12345,
      "US",
      8675309,
      "",
      "",
      "",
      "",
      ""
    ],
    [.....]
  ]
 }

有一点背景,我从csv文件中获取数据,通常我必须将文件分为两部分,一部分是好的,另一部分是坏的。我一直在为这个过程使用熊猫,这很棒。因此df包含良好数据,并说dfbad包含错误数据。

我使用df.to_json(orient = "split")输出好的数据,我非常喜欢它的结构。现在我想对坏数据,相同的结构做同样的事情,所以像这样:

[{good}, {bad}]

如果上面的例子不清楚,我会提前道歉。

我试过这个:

jsonify(good = df.to_json(orient = "split"), bad = dfbad.to_json(orient = "split"))

但是我知道这不会起作用,因为好的和坏的结果变成了一个字符串;我不想要,我希望能够访问它。

data_dict = {}

data_dict['bad'] = dfbad.to_dict()
data_dict['good'] = df.to_dict()

return pd.json.dumps(data_dict)

这可以作为json返回,但不是我想要的结构,.to_json(orient = "split")的方式,除非我必须自定义它。

有人可以帮忙解决这个问题吗?或者可以从另一个方向指出如何解决这个问题。

提前致谢!

更新

我找到了解决方案,这就是我所做的:

good_json = df.to_json(orient="split")
bad_json = dfbad.to_json(orient="split")

return jsonify(bad = json.loads(bad_json), good = json.loads(good_json))

我添加了json.loads,你必须导入它 - import json - 它现在作为JSON输出返回。如果您有其他建议,请告诉我。我愿意更多地了解熊猫。

0 个答案:

没有答案