繁体   English   中英

如何将“平面” json数据放入python数据框?

[英]How to put 'flat' json data into python data frame?

我正在发出一个API请求,并获取不确定该如何处理的数据。 我想在pandas数据框中包含所有数据,其中“ channel_id”作为行(或者我想是索引),而所有其他信息作为列。

这是我打的电话:

with requests.Session() as s:
    r1 = s.post(url_post,data=payload)
    r2 = s.get(url_get)

data = r2.json()

数据如下所示:

{u'value': {u'data': [{u'avg_revenue': u'0.006585714285714286',
u'avg_revenue_usd': u'0.006585714285714286',
u'channel_id': u'95622',
u'channel_name': u'game',
u'clicks': u'0',
u'coverage': u'6035',
u'cpi': u'0.006585714285714286',
u'cpi_usd': u'0.0066',
u'cpm': u'6.585714285714286',
u'cpm_usd': u'6.58570',
u'ctr': u'0.0000',
u'currency_code': u'USD',
u'ecpm': u'0.007598483599802209',
u'ecpm_usd': u'0.00760',
u'fill_rate': u'0.0012',
u'high_revenue': u'0.024',
u'high_revenue_usd': u'0.024000',
u'impressions': u'7',
u'low_revenue': u'0.0221',
u'low_revenue_usd': u'0.000000',
u'net_cpm': u'6.3692857142857140',
u'net_cpm_usd': u'6.36930',
u'payout': u'0.044585000000',
u'payout_usd': u'0.044585',
u'publisher_id': u'#######',
u'publisher_name': u'Agency',
u'queries': u'6067',
u'results': u'17561',
u'revenue': u'0.0461',
u'revenue_usd': u'0.0461'},
....
{u'avg_revenue': u'7.368266666666667',
u'avg_revenue_usd': u'7.368266666666667',
u'channel_id': u'122795',
u'channel_name': u'BT3',
u'clicks': u'26',
u'coverage': u'495022',
u'cpi': u'0.007470361608651572',
u'cpi_usd': u'0.0075',
u'cpm': u'7.470361608651572',
u'cpm_usd': u'7.47040',
u'ctr': u'0.0088',
u'currency_code': u'USD',
u'ecpm': u'0.01847035191331348',
u'ecpm_usd': u'0.01850',
u'fill_rate': u'0.0025',
u'high_revenue': u'22.1048',
u'high_revenue_usd': u'5.466700',
u'impressions': u'2959',
u'low_revenue': u'22.1048',
u'low_revenue_usd': u'0.000000',
u'net_cpm': u'7.0342510983440350',
u'net_cpm_usd': u'7.03430',
u'payout': u'20.814349000000',
u'payout_usd': u'20.814349',
u'publisher_id': u'#######',
u'publisher_name': u'Agency',
u'queries': u'1196772',
u'results': u'1425193',
u'revenue': u'22.1048',
u'revenue_usd': u'22.1048'}]}}
df = pd.DataFrame.from_dict(data['value']['data'])
df.set_index(['channel_id'], inplace=True)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM