我已经尝试过json\u normalize,这似乎是可行的;但是,它不能输出我想要的输出。在
import requests
import json
from pandas.io.json import json_normalize
import pandas as pd
url = "https://www.qnt.io/api/results?pID=gifgif&mID=54a309ae1c61be23aba0da62&key=54a309ac1c61be23aba0da3f"
aResponse = requests.get(url)
y = json.loads(aResponse.content)
json_test = json.dumps(y, indent = 4, sort_keys=True)
print(json_test)
csv = json_normalize(y['results'])
print(csv)
显示这段代码的输出很困难,而且非常令人困惑;因此,我认为我省略它对我们双方都是最有利的。如果这是一条有用的信息,我可以补充一下。在
在json.dumps文件部分只是对我的json文件进行了整理,以便可以轻松查看。不幸的是,我不能发布整个json文件,因为Stack并不是我格式化的忠实粉丝。下面是一个小片段:
^{pr2}$还有大约10个这样的(一直到6119;不过,我只是想让这部分工作起来)。我希望我的输出按如下顺序排列:rank、tags、embedLink、mu、sigma、index。下面是我想要的输出示例:
0, adam levine, embarassed, the voice, confession, http://media3.giphy.com/media/BE9kUwvLfsAmI/giphy.gif, 35.92818823777915, 1.88084276812386, 269
我希望它是一个csv文件;但是,我认为使用Pandas创建一个数据帧也非常有用。我想我的问题是因为我有一个很大的嵌入式json文件,而且计算机很难组织这个大的数据集。任何建议都将不胜感激!在
首先,可以使用requests.json()而不是
requests.text
来获取JSON形式的响应内容。在然后可以用pd.DataFrame.from_dict加载dict:
^{pr2}$然后使用
.apply(pd.Series)
进一步展开dict中的列:并将标记从列表转换为字符串:
最后得到您想要的列:
相关问题 更多 >
编程相关推荐