我必须遵循来自API的JSON(例如myjson)。实体数组存储在名为entities的键中:
{
"action" : "get",
"application" : "4d97323f-ac0f-11e6-b1d4-0eec2415f3df",
"params" : {
"limit" : [ "2" ]
},
"path" : "/businesses",
"entities" : [
{
"uuid" : "508d56f1-636b-11e7-9928-122e0737977d",
"type" : "business",
"size" : 730 },
{
"uuid" : "2f3bd4dc-636b-11e7-b937-0ad881f403bf",
"type" : "business",
"size" : 730
} ],
"timestamp" : 1499469891059,
"duration" : 244,
"count" : 2
}
我正试图将它们加载到数据帧中,如下所示:
import pandas as pd
pd.read_json(my_json['entities'], orient='split')
我得到以下错误:
ValueError: Invalid file path or buffer object type: <type 'list'>
我试过唱片定向,但还是不行。
使用
my_json['entities']
的方式使它看起来像是一个Pythondict
。根据^{} documentation ,
read_json
接受“有效的JSON字符串或类似文件”。可以使用以下命令将dict
转换为json字符串:正如您所描述的,键
"entities"
下的数据不适合orient="split"
的格式化策略。看起来您需要使用orient="list"
:屈服:
或者
屈服:
如果
my_json
如我所怀疑的那样是一本字典,那么您可以跳过pd.read_json
,只需丹尼尔科林给我指出了正确的方向。最后我不得不:
read_json方法接受一个字符串,因此我转储entities集合并使用它。
相关问题 更多 >
编程相关推荐