这是我第一次访问API /使用json数据,所以如果有人能够指出我有一个很好的资源来理解如何使用它,我真的很感激。
具体来说,我有这种形式的json数据:
{"result": { "code": "OK", "msg": "" },"report_name":"DAILY","columns":["ad","ad_impressions","cpm_cost_per_ad","cost"],"data":[{"row":["CP_CARS10_LR_774470","966","6.002019","5.797950"]}],"total":["966","6.002019","5.797950"],"row_count":1}
我理解这种结构,但我不知道如何正确地将其导入DataFrame。
答案 0 :(得分:1)
查看json
的结构,可能您的数据会有几行,在我看来,自己构建数据框会更有意义。
此代码使用columns
和data
构建数据框:
In [12]:
import json
import pandas as pd
with open('... path to your json file ...') as fp:
for line in fp:
obj = json.loads(line)
columns = obj['columns']
data = obj['data']
l = []
for d in data:
l += [d['row']]
df = pd.DataFrame(l, index=None, columns=columns)
df
Out[12]:
ad ad_impressions cpm_cost_per_ad cost
0 CP_CARS10_LR_774470 966 6.002019 5.797950
至于其余数据,在json
中,我猜您可以例如使用总计来检查您的数据框,
In [14]:
sums = df.sum(axis=0)
obj['total']
for i in range(0,3):
if (obj['total'][i] != sums[i+1]):
print "error in total"
In [15]:
if obj['row_count'] != len(df.index):
print "error in row count"
至于json
中的其他数据,我很难知道是否应该做其他事情。
希望它有所帮助。
答案 1 :(得分:0)
检查pandas文档。具体地,
http://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_json.html
Pandas支持将json读取到dataframe