我正在尝试从json中提取每个条目的键列表和所有值的列表。考虑以下json:
[{'height': 1.2 , 'width':2.5, 'weight':5 },{'height': 1.7 , 'width':4.5, 'weight':2 },{'height': 3.2 , 'width':4.5, 'weight':7 }]
我希望输出为:
['height','width','weight']
[[1.2,2.5,5],[1.7,4.5,2],[3.2,4.5,7]]
基本上我需要将它加载到pandas Dataframe。我相信直接加载行和列会更容易。我无法将json
直接加载到DataFrame,我无法找到提取行和列的有效方法,如上所述。
答案 0 :(得分:1)
假设您已将json加载到变量(如文本)中,您只需执行以下操作:
In [13]: import json, pandas
In [14]: text = json.dumps([{'height': 1.2 , 'width':2.5, 'weight':5 },{'height': 1.7 , 'width':4.5, 'weight':2 },{'height': 3.2 , 'width':4.5, 'weight':7 }])
...:
In [15]: df = pandas.read_json(text)
In [16]: df
Out[16]:
height weight width
0 1.2 5 2.5
1 1.7 2 4.5
2 3.2 7 4.5
In [17]: df.columns.values
Out[17]: array([u'height', u'weight', u'width'], dtype=object)
In [18]: df.as_matrix()
Out[18]:
array([[ 1.2, 5. , 2.5],
[ 1.7, 2. , 4.5],
[ 3.2, 7. , 4.5]])
答案 1 :(得分:1)
正如评论所提到的,您可以直接将字典传递给DataFrame构造函数。但是,如果您真的想要您出于某种原因描述的格式,可以使用:
Session_End()