【发布时间】:2020-11-24 06:02:08
【问题描述】:
将数据帧转换为 JSON 或从字典转换为 JSON,无论使用 orient 的哪个参数(表或拆分或索引或记录),由于某种原因都没有运气。
代码:
dataf = pd.DataFrame(columns = ["Objects", "Col1", "Col2"])
dataf['Objects'] = ['Object1','Object2']
dataf['Col1']= ["1","2"]
dataf['Col2']= ["3","4"]
dataf.set_index('Objects', inplace = True)
# dataf converted to dict
dataf = dataf.to_dict(orient='index')
我的输出:
dataf
Out[199]: {'Object1': {'Col1': '1', 'Col2': '3'}, 'Object2': {'Col1': '2', 'Col2': '4'}}
其中 'Object1' 和 'Object2' 是键,其对应值是 {'Col1': '1', 'Col2': '3'} 其中 Col1 是键 '1' 是值,Col2 是键 3是价值
outp1 = json.dumps(dataf)
outp1
Out[225]: '{"Object1": {"Col1": "1", "Col2": "3"}, "Object2": {"Col1": "2", "Col2": "4"}}'
所需的输出(已编辑):
{
"Object1": [{
"Col1": "1",
"Col2": "3"
},
{
"Object2": [{
"Col1": "2",
"Col2": "4"
}],
}]
}
如果我输错了正确 JSON 的语法,这里是图片的链接:link 这是我在将其转换为 JSON 时希望得到的格式。
【问题讨论】:
-
明确地说,您是说作为
Object1的值,您想要一个包含Col1和Col2以及Object3及其列的字典的列表? -
对象 3 来自哪里?
-
它被称为嵌套字典我会说 Object1 和 Object2 是其中有“列”的主键,并且这些列具有它们的信息或值。我猜输出描述了它?
-
"Expected/Desired output and additional example added (pseudo): "这意味着我只是继续示例输出应该是什么样子。上面的代码和数据框应该是第一个块的输出方式,没有 Object3 等的进一步示例
-
我仍然不完全确定您的目标是什么,但让我举个例子。假设您要查找
Col2的Object2的值。使用 Pandas 的方式,您只需执行output["Object2"]["Col2"]。按照您尝试的方式,您必须执行output["Object1"][1]["Object2"][0]["Col2"]。你觉得你想要哪一个?
标签: python pandas dictionary