我正在尝试将两个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输出返回。如果您有其他建议,请告诉我。我愿意更多地了解熊猫。