0
我有可以表示为树结构与每个节点具有四个属性的JSON数据:name
,id
,child
,parentid(pid)
(叶节点它只有三个属性:id
,pid
,name
)。如何在Python中将json树数据转换为数据框?
{'child': [{'id': '','child':[{'id': '','child':['name':'','id':'','pid':''], 'name': '', 'pid':''}], 'name': '', 'pid': ''}],'name':'','pid':'','id':''}
我想它有三列像转换成数据帧:
id, pid, name
1 .., ..., ....
2 .., ..., ....
随着来自各个层面的数据在三个属性(id,pid,name)
我试图pandas.read_json
使用默认参数,但它似乎不能迭代整个图层并且输出如下:
id, pid, name, child
1 .., ..., ...., {'id':'','pid': '','name': '', 'child':[{...}]}
2 .., ..., ...., {'id':'','pid': '','name': '', 'child':[{...}]}
我想知道是否有一些简单的方法来解决这个问题,有或没有pandas
。
尝试['json_normalize()'](http://pandas.pydata.org/pandas-docs/stable/generated/pandas.io.json.json_normalize.html?highlight=json_normalize#pandas .io.json.json_normalize)函数,或者根据数据的复杂性,查看'flatten' [library](https://github.com/amirziai/flatten)([blog blog])(https: //medium.com/@amirziai/flattening-json-objects-in-python-f5343c794b10))。 –
谢谢你的回复。看起来'json_normalize()'不适用于我(也许我设置了错误的参数)并且'flatten'只返回太多的列。 – natsuapo